CVE-2024-35872

mm/secretmem: fix GUP-fast succeeding on secretmem folios

MEDIUM
5.5
CVSS Score
Published: May 19, 2024 at 08:34 AM UTC
Updated: August 5, 2026 at 12:04 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: mm/secretmem: fix GUP-fast succeeding on secretmem folios folio_is_secretmem() currently relies on secretmem folios being LRU folios, to save some cycles. However, folios might reside in a folio batch without the LRU flag set, or temporarily have their LRU flag cleared. Consequently, the LRU flag is unreliable for this purpose. In particular, this is the case when secretmem_fault() allocates a fresh page and calls filemap_add_folio()->folio_add_lru(). The folio might be added to the per-cpu folio batch and won't get the LRU flag set until the batch was drained using e.g., lru_add_drain(). Consequently, folio_is_secretmem() might not detect secretmem folios and GUP-fast can succeed in grabbing a secretmem folio, crashing the kernel when we would later try reading/writing to the folio, because the folio has been unmapped from the directmap. Fix it by removing that unreliable check.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.14 ≤ v < 5.15.1545.14 ≤ v < 6.1.855.14 ≤ v < 6.6.265.14 ≤ v < 6.8.55.14 ≤ v < 6.95.16 ≤ v < 6.1.856.2 ≤ v < 6.6.266.7 ≤ v < 6.8.51507f51255c9ff07d75909a84e7c0d7f3c4b2f496.9 rc16.9 rc2
Vendor states this is fixed in 201e4aaf405dfd1308da54448654053004c579b5 (fixed)
Vendor states this is fixed in 43fad1d0284de30159661d0badfc3cbaf7e6f8f8 (fixed)
Vendor states this is fixed in 65291dcfcf8936e1b23cfd7718fdfde7cfaf7706 (fixed)
Vendor states this is fixed in 6564b014af92b677c1f07c44d7f5b595d589cf6e (fixed)
Vendor states this is fixed in 9c2b4b657739ecda38e3b383354a29566955ac48 (fixed)
Vendor states this is fixed in 5.14 (unaffected)
Vendor states this is fixed in 5.15.154 (unaffected)
Vendor states this is fixed in 6.1.85 (unaffected)
Vendor states this is fixed in 6.6.26 (unaffected)
Vendor states this is fixed in 6.8.5 (unaffected)
Vendor states this is fixed in 6.9 (unaffected)

References (5)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/201e4aaf405dfd1308da54448654053004c579b5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/43fad1d0284de30159661d0badfc3cbaf7e6f8f8
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/65291dcfcf8936e1b23cfd7718fdfde7cfaf7706
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6564b014af92b677c1f07c44d7f5b595d589cf6e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9c2b4b657739ecda38e3b383354a29566955ac48

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card