Bug 1224548 (CVE-2024-36000)

Summary: VUL-0: CVE-2024-36000: kernel: mm/hugetlb: fix missing hugetlb_lock for resv uncharge
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Oscar Salvador <osalvador>
Status: NEW --- QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: gianluca.gabrielli, jlee, mhocko
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/406729/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-36000:5.5:(AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-05-20 14:36:55 UTC
In the Linux kernel, the following vulnerability has been resolved:

mm/hugetlb: fix missing hugetlb_lock for resv uncharge

There is a recent report on UFFDIO_COPY over hugetlb:

https://lore.kernel.org/all/000000000000ee06de0616177560@google.com/

350:	lockdep_assert_held(&hugetlb_lock);

Should be an issue in hugetlb but triggered in an userfault context, where
it goes into the unlikely path where two threads modifying the resv map
together.  Mike has a fix in that path for resv uncharge but it looks like
the locking criteria was overlooked: hugetlb_cgroup_uncharge_folio_rsvd()
will update the cgroup pointer, so it requires to be called with the lock
held.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-36000
https://www.cve.org/CVERecord?id=CVE-2024-36000
https://git.kernel.org/stable/c/4c806333efea1000a2a9620926f560ad2e1ca7cc
https://git.kernel.org/stable/c/538faabf31e9c53d8c870d114846fda958a0de10
https://git.kernel.org/stable/c/b76b46902c2d0395488c8412e1116c2486cdfcb2
https://git.kernel.org/stable/c/f6c5d21db16a0910152ec8aa9d5a7aed72694505
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-36000.mbox
Comment 2 Joey Lee 2024-05-21 08:52:04 UTC
https://www.suse.com/security/cve/CVE-2024-36000.html
cvss 5.5