Bug 1227839 (CVE-2024-40913)

Summary: VUL-0: CVE-2024-40913: kernel: cachefiles: defer exposing anon_fd until after copy_to_user() succeeds
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: RESOLVED INVALID QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: andrea.mattiazzo, miroslav.franc
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/413840/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-40913:6.7:(AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-07-15 14:18:25 UTC
In the Linux kernel, the following vulnerability has been resolved:

cachefiles: defer exposing anon_fd until after copy_to_user() succeeds

After installing the anonymous fd, we can now see it in userland and close
it. However, at this point we may not have gotten the reference count of
the cache, but we will put it during colse fd, so this may cause a cache
UAF.

So grab the cache reference count before fd_install(). In addition, by
kernel convention, fd is taken over by the user land after fd_install(),
and the kernel should not call close_fd() after that, i.e., it should call
fd_install() after everything is ready, thus fd_install() is called after
copy_to_user() succeeds.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-40913
https://www.cve.org/CVERecord?id=CVE-2024-40913
https://git.kernel.org/stable/c/4b4391e77a6bf24cba2ef1590e113d9b73b11039
https://git.kernel.org/stable/c/b9f58cdae6a364a3270fd6b6a46e0fd4f7f8ce32
https://git.kernel.org/stable/c/d2d3eb377a5d081bf2bed177d354a4f59b74da88
https://git.kernel.org/stable/c/eac51d9daacd61dcc93333ff6a890cf3efc8c1c0
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-40913.mbox
Comment 3 Miroslav Franc 2024-07-17 17:15:02 UTC
We don't enable CONFIG_CACHEFILES_ONDEMAND.
Comment 4 Andrea Mattiazzo 2024-07-19 09:50:25 UTC
Closing as INVALID since we are not affected due to the config CONFIG_CACHEFILES_ONDEMAND not enabled.