{"id":"CVE-2024-36000","state":"PUBLISHED","title":"mm/hugetlb: fix missing hugetlb_lock for resv uncharge","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/hugetlb: fix missing hugetlb_lock for resv uncharge\n\nThere is a recent report on UFFDIO_COPY over hugetlb:\n\nhttps://lore.kernel.org/all/000000000000ee06de0616177560@google.com/\n\n350:\tlockdep_assert_held(&hugetlb_lock);\n\nShould be an issue in hugetlb but triggered in an userfault context, where\nit goes into the unlikely path where two threads modifying the resv map\ntogether.  Mike has a fix in that path for resv uncharge but it looks like\nthe locking criteria was overlooked: hugetlb_cgroup_uncharge_folio_rsvd()\nwill update the cgroup pointer, so it requires to be called with the lock\nheld.","publishedAt":"2024-05-20T09:48:02.318Z","updatedAt":"2026-05-23T15:46:03.141Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"4c806333efea1000a2a9620926f560ad2e1ca7cc","versionType":"git"},{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"f6c5d21db16a0910152ec8aa9d5a7aed72694505","versionType":"git"},{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"538faabf31e9c53d8c870d114846fda958a0de10","versionType":"git"},{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"b76b46902c2d0395488c8412e1116c2486cdfcb2","versionType":"git"},{"version":"f87004c0b2bdf0f1066b88795d8e6c1dfad6cea0","status":"affected","versionType":"git"},{"version":"5.9.7","status":"affected","lessThan":"5.10","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/hugetlb.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"6.1.91","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.30","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.8.9","status":"unaffected","lessThanOrEqual":"6.8.*","versionType":"semver"},{"version":"6.9","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/hugetlb.c"]}],"references":["https://git.kernel.org/stable/c/4c806333efea1000a2a9620926f560ad2e1ca7cc","https://git.kernel.org/stable/c/f6c5d21db16a0910152ec8aa9d5a7aed72694505","https://git.kernel.org/stable/c/538faabf31e9c53d8c870d114846fda958a0de10","https://git.kernel.org/stable/c/b76b46902c2d0395488c8412e1116c2486cdfcb2"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:30.303Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/36xxx/CVE-2024-36000.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-36000","state":"PUBLISHED","datePublished":"2024-05-20T09:48:02.318Z","dateUpdated":"2026-05-23T15:46:03.141Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-05-17T13:50:33.149Z"},"containers":{"cna":{"title":"mm/hugetlb: fix missing hugetlb_lock for resv uncharge","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/hugetlb: fix missing hugetlb_lock for resv uncharge\n\nThere is a recent report on UFFDIO_COPY over hugetlb:\n\nhttps://lore.kernel.org/all/000000000000ee06de0616177560@google.com/\n\n350:\tlockdep_assert_held(&hugetlb_lock);\n\nShould be an issue in hugetlb but triggered in an userfault context, where\nit goes into the unlikely path where two threads modifying the resv map\ntogether.  Mike has a fix in that path for resv uncharge but it looks like\nthe locking criteria was overlooked: hugetlb_cgroup_uncharge_folio_rsvd()\nwill update the cgroup pointer, so it requires to be called with the lock\nheld."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"4c806333efea1000a2a9620926f560ad2e1ca7cc","versionType":"git"},{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"f6c5d21db16a0910152ec8aa9d5a7aed72694505","versionType":"git"},{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"538faabf31e9c53d8c870d114846fda958a0de10","versionType":"git"},{"version":"79aa925bf239c234be8586780e482872dc4690dd","status":"affected","lessThan":"b76b46902c2d0395488c8412e1116c2486cdfcb2","versionType":"git"},{"version":"f87004c0b2bdf0f1066b88795d8e6c1dfad6cea0","status":"affected","versionType":"git"},{"version":"5.9.7","status":"affected","lessThan":"5.10","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/hugetlb.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"6.1.91","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.30","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.8.9","status":"unaffected","lessThanOrEqual":"6.8.*","versionType":"semver"},{"version":"6.9","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/hugetlb.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/4c806333efea1000a2a9620926f560ad2e1ca7cc"},{"url":"https://git.kernel.org/stable/c/f6c5d21db16a0910152ec8aa9d5a7aed72694505"},{"url":"https://git.kernel.org/stable/c/538faabf31e9c53d8c870d114846fda958a0de10"},{"url":"https://git.kernel.org/stable/c/b76b46902c2d0395488c8412e1116c2486cdfcb2"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T15:46:03.141Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.1.91"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.6.30"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.8.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9.7"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-36000","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-05-20T14:22:13.871546Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-06-04T17:48:08.784Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/4c806333efea1000a2a9620926f560ad2e1ca7cc","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/f6c5d21db16a0910152ec8aa9d5a7aed72694505","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/538faabf31e9c53d8c870d114846fda958a0de10","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/b76b46902c2d0395488c8412e1116c2486cdfcb2","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T03:30:12.529Z"}}]}}}