Use After Free in Linux
CVE-2024-40935
In the Linux kernel, the following vulnerability has been resolved: cachefiles: flush all requests after setting CACHEFILES_DEAD In ondemand mode, when the daemon is processing an open request, if the kernel flags the cache as CACHEFILES_DEAD, the cachefiles_daemon_write() will always return -EIO, so the daemon can't pass the copen to the kernel. Then the kernel process that is waiting for the copen triggers a hung_task. Since the DEAD state is irreversible, it can only be exited by closing /dev/cachefiles. Therefore, after calling cachefiles_io_error() to mark the cache as CACHEFILES_DEAD, if in ondemand mode, flush all requests to avoid the above hungtask. We may still be able to read some of the cached data before closing the fd of /dev/cachefiles. Note that this relies on the patch that adds reference counting to the req, otherwise it may UAF.
Vulnerability class: Use-After-Free
EPSS: 0.003 (17.5th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 7.8 (High). Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
Affected products
- Linux — versions c8383054506c77b814489c09877b5db83fd4abf2, 5.19, 0
- Linux Linux_kernel — versions 6.10
Weakness classification (CWE)
References
Frequently asked questions
- What is CVE-2024-40935?
- CVE-2024-40935 is a high-severity vulnerability in Linux, classified under Use After Free. CVSS score: 7.8/10. Published 2024-07-12.
- How severe is CVE-2024-40935?
- High severity. CVSS v3 base score is 7.8 out of 10.