CVE-2024-35951: drm/panfrost: Fix the error path in panfrost_mmu_map_fault_addr()
In the Linux kernel, the following vulnerability has been resolved:
drm/panfrost: Fix the error path in panfrost_mmu_map_fault_addr()
Subject: [PATCH] drm/panfrost: Fix the error path in
panfrost_mmu_map_fault_addr()
If some the pages or sgt allocation failed, we shouldn't release the
pages ref we got earlier, otherwise we will end up with unbalanced
get/put_pages() calls. We should instead leave everything in place
and let the BO release function deal with extra cleanup when the object
is destroyed, or let the fault handler try again next time it's called.
Security readout for executives and security teams
Plain-English summary
A Linux Panfrost graphics-driver cleanup error can unbalance memory-page references when allocation fails during fault handling. The supplied CVSS rates potential confidentiality, integrity, and availability impact as high, requiring local low-privileged access. The source bundle does not establish a practical compromise method.
Executive priority
Treat as a high-priority kernel update where Panfrost is active and untrusted users or workloads have local access. Broader emergency action is not supported by the supplied evidence because active exploitation is unconfirmed and exposure depends on a specific driver path.
Technical view
In panfrost_mmu_map_fault_addr(), failed page or SGT allocation could incorrectly release previously acquired page references, producing unmatched get_pages()/put_pages() calls. The fix preserves allocations and lets object destruction perform cleanup, or allows a later fault-handler retry.
Likely exposure
Exposure is limited to Linux systems using the Panfrost driver where the affected MMU fault and allocation-failure path is reachable. The supplied version metadata lists 5.4, 6.6.28, 6.8.7, and 6.9, but lacks sufficient range context for precise distribution-level conclusions.
Exploitation context
The CVSS vector describes a local, low-complexity attack requiring low privileges and no user interaction. This CVE is not marked as CISA KEV, and the supplied sources provide no evidence of active exploitation, public weaponization, or a proven exploit primitive.
Researcher notes
The trigger involves allocation failure inside Panfrost MMU fault mapping. The faulty path releases page references acquired earlier; corrected behavior defers cleanup to buffer-object destruction or retries later. Sources do not establish whether this yields use-after-free, privilege escalation, or another reliable exploitation primitive. Distribution backport status requires separate vendor confirmation.
Mitigation direction
Update to a vendor-supported kernel containing the applicable cited stable fix.
Consult the Linux distribution or device vendor for exact affected and corrected package versions.
Prioritize systems that load Panfrost and permit access by untrusted local users or workloads.
Restrict unnecessary local access while updates are evaluated and deployed.
Validation and detection
Inventory kernel versions and determine which systems load or depend on the Panfrost driver.
Map vendor kernel packages to the cited stable fix commits or vendor advisories.
Confirm the replacement kernel is active after updating, including following any required reboot.
Review vendor security guidance because the supplied version ranges are incomplete.
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-35951 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.