CVE-2024-42293: arm64: mm: Fix lockless walks with static and dynamic page-table folding
In the Linux kernel, the following vulnerability has been resolved:
arm64: mm: Fix lockless walks with static and dynamic page-table folding
Lina reports random oopsen originating from the fast GUP code when
16K pages are used with 4-level page-tables, the fourth level being
folded at runtime due to lack of LPA2.
In this configuration, the generic implementation of
p4d_offset_lockless() will return a 'p4d_t *' corresponding to the
'pgd_t' allocated on the stack of the caller, gup_fast_pgd_range().
This is normally fine, but when the fourth level of page-table is folded
at runtime, pud_offset_lockless() will offset from the address of the
'p4d_t' to calculate the address of the PUD in the same page-table page.
This results in a stray stack read when the 'p4d_t' has been allocated
on the stack and can send the walker into the weeds.
Fix the problem by providing our own definition of p4d_offset_lockless()
when CONFIG_PGTABLE_LEVELS <= 4 which returns the real page-table
pointer rather than the address of the local stack variable.
Security readout for executives and security teams
Plain-English summary
A Linux arm64 memory-management flaw can misdirect a fast page-table walk into reading stray stack data, causing kernel crashes and potentially broader compromise. It affects a specific configuration involving 16K pages, four-level page tables, runtime folding, and no LPA2. The supplied CVSS rates confidentiality, integrity, and availability impacts as high, but exploitation requires local low-privileged access.
Executive priority
Treat as a high-priority local privilege-bound kernel issue on matching arm64 systems. Rapidly identify exposed configurations and patch them through supported vendor channels. Internet reachability alone does not create direct exposure, but multi-user hosts, containers sharing the host kernel, and systems running less-trusted local workloads deserve earlier attention.
Technical view
During fast GUP, generic p4d_offset_lockless() may return a pointer to a caller’s stack-allocated pgd_t. With runtime-folded fourth-level tables, pud_offset_lockless() calculates a PUD address from that pointer, producing a stray stack read and invalid page-table traversal. The fix adds an arm64-specific p4d_offset_lockless() returning the real page-table pointer when CONFIG_PGTABLE_LEVELS is at most four.
Likely exposure
Exposure is limited to arm64 Linux systems using 16K pages and four-level page tables where the fourth level folds dynamically because LPA2 is unavailable. The bundle lists affected version values including 6.9, 6.10.3, and 6.11, but does not clearly define their range relationships or downstream distribution mappings.
Exploitation context
The CVSS vector describes local, low-complexity exploitation requiring low privileges and no user interaction, with potentially high confidentiality, integrity, and availability impact. Reported evidence is random kernel oopses, not confirmed malicious exploitation. The CVE is not identified as being in CISA KEV, and the supplied sources do not claim active exploitation.
Researcher notes
The failure is configuration-dependent and originates from pointer handling across static and dynamic page-table folding. The supplied material documents crashes and a corrective implementation, but provides no proof of reliable privilege escalation, data disclosure, or active exploitation. Package-level affected and fixed versions require confirmation from downstream vendor advisories.
Mitigation direction
Apply a vendor-supported kernel containing the referenced upstream stable fix.
Request exact fixed-package guidance from the operating-system or appliance vendor.
Prioritize arm64 systems matching the 16K-page, runtime-folding configuration.
Reboot into the corrected kernel after installation, following operational change controls.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-42293 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.