What’s Vulnerable › Vulnerabilities
CVE-2025-39840: audit: fix out-of-bounds read in audit_compare_dname_path()
- Severity: high (CVSS 7.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-09-19 · updated 2026-10-19
- Weakness: CWE-125
Description
In the Linux kernel, the following vulnerability has been resolved: audit: fix out-of-bounds read in audit_compare_dname_path() When a watch on dir=/ is combined with an fsnotify event for a single-character name directly under / (e.g., creating /a), an out-of-bounds read can occur in audit_compare_dname_path(). The helper parent_len() returns 1 for "/". In audit_compare_dname_path(), when parentlen equals the full path length (1), the code sets p = path + 1 and pathlen = 1 - 1 = 0. The subsequent loop then dereferences p[pathlen - 1] (i.e., p[-1]), causing an out-of-bounds read. Fix this by adding a pathlen > 0 check to the while loop condition to prevent the out-of-bounds access. [PM: subject tweak, sign-off email fixes]
Affected products
- Linux kernel: from 6.14 before 6.16.6; 6.17-rc1, 6.17-rc2, 6.17-rc3, 6.17-rc4 — fixed in 6.16.6
How to fix
Upgrade to a fixed version: Linux kernel 6.16.6. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/4540f1d23e7f387880ce46d11b5cd3f27248bf8d
- https://git.kernel.org/stable/c/9735a9dcc307427e7d6336c54171682f1bac9789
Get alerted when CVE-2025-39840 or the next vulnerability affects your stack