CVE-2024-35993

mm: turn folio_test_hugetlb into a PageType

State
Published
Severity
7.8 High
Published
May 20, 2024
Updated
Aug 5, 2026
Reserved
May 17, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

mm: turn folio_test_hugetlb into a PageType

The current folio_test_hugetlb() can be fooled by a concurrent folio split into returning true for a folio which has never belonged to hugetlbfs. This can't happen if the caller holds a refcount on it, but we have a few places (memory-failure, compaction, procfs) which do not and should not take a speculative reference.

Since hugetlb pages do not use individual page mapcounts (they are always fully mapped and use the entire_mapcount field to record the number of mappings), the PageType field is available now that page_mapcount() ignores the value in this field.

In compaction and with CONFIG_DEBUG_VM enabled, the current implementation can result in an oops, as reported by Luis. This happens since 9c5ccf2db04b ("mm: remove HUGETLB_PAGE_DTOR") effectively added some VM_BUG_ON() checks in the PageHuge() testing path.

[willy@infradead.org: update vmcoreinfo]

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9c5ccf2db04b8d7c3df363fdd4856c2b79ab2c6a to before 2431b5f2650dfc47ce782d1ca7b02d6b3916976fAffected
  • 9c5ccf2db04b8d7c3df363fdd4856c2b79ab2c6a to before 9fdcc5b6359dfdaa52a55033bf50e2cedd66eb32Affected
  • 9c5ccf2db04b8d7c3df363fdd4856c2b79ab2c6a to before d99e3140a4d33e26066183ff727d8f02f56bec64Affected
LinuxLinux
  • 6.6Affected
  • before 6.6Not affected
  • 6.6.30 through 6.6.*Not affected
  • 6.8.9 through 6.8.*Not affected
  • 6.9 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.