CVE-2024-35993
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/05/2024
Last modified:
24/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm: turn folio_test_hugetlb into a PageType<br />
<br />
The current folio_test_hugetlb() can be fooled by a concurrent folio split<br />
into returning true for a folio which has never belonged to hugetlbfs. <br />
This can&#39;t happen if the caller holds a refcount on it, but we have a few<br />
places (memory-failure, compaction, procfs) which do not and should not<br />
take a speculative reference.<br />
<br />
Since hugetlb pages do not use individual page mapcounts (they are always<br />
fully mapped and use the entire_mapcount field to record the number of<br />
mappings), the PageType field is available now that page_mapcount()<br />
ignores the value in this field.<br />
<br />
In compaction and with CONFIG_DEBUG_VM enabled, the current implementation<br />
can result in an oops, as reported by Luis. This happens since 9c5ccf2db04b<br />
("mm: remove HUGETLB_PAGE_DTOR") effectively added some VM_BUG_ON() checks<br />
in the PageHuge() testing path.<br />
<br />
[willy@infradead.org: update vmcoreinfo]
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6 (including) | 6.6.30 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.8.9 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.9:rc5:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/2431b5f2650dfc47ce782d1ca7b02d6b3916976f
- https://git.kernel.org/stable/c/9fdcc5b6359dfdaa52a55033bf50e2cedd66eb32
- https://git.kernel.org/stable/c/d99e3140a4d33e26066183ff727d8f02f56bec64
- https://git.kernel.org/stable/c/2431b5f2650dfc47ce782d1ca7b02d6b3916976f
- https://git.kernel.org/stable/c/9fdcc5b6359dfdaa52a55033bf50e2cedd66eb32
- https://git.kernel.org/stable/c/d99e3140a4d33e26066183ff727d8f02f56bec64



