CVE-2025-39840 audit: fix out-of-bounds read in audit_compare_dname_path()
An out-of-bounds read in the Linux kernel audit subsystem can cause a crash or leak memory when specific filesystem events occur.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-39840?
CVE-2025-39840 is a high-severity memory corruption vulnerability in Linux kernel, published on 19 Sep 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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]
Weakness: CWE-125
Which versions are affected by CVE-2025-39840?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-39840?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2025-39840 being exploited?
There is no known exploitation of CVE-2025-39840 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2025-39840, DEBIAN-CVE-2025-39840, GHSA-cwjm-393v-32x2, UBUNTU-CVE-2025-39840.