CVE-2024-0671
Mali GPU Kernel Driver allows improper GPU memory processing operations
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
1Exploited in Wild
-Decision
Descriptions
Use After Free vulnerability in Arm Ltd Midgard GPU Kernel Driver, Arm Ltd Bifrost GPU Kernel Driver, Arm Ltd Valhall GPU Kernel Driver, Arm Ltd Arm 5th Gen GPU Architecture Kernel Driver allows a local non-privileged user to make improper GPU memory processing operations to gain access to already freed memory.This issue affects Midgard GPU Kernel Driver: from r19p0 through r32p0; Bifrost GPU Kernel Driver: from r7p0 through r48p0; Valhall GPU Kernel Driver: from r19p0 through r48p0; Arm 5th Gen GPU Architecture Kernel Driver: from r41p0 through r48p0.
Vulnerabilidad de Use After Free en Arm Ltd Midgard GPU Kernel Driver, Arm Ltd Bifrost GPU Kernel Driver, Arm Ltd Valhall GPU Kernel Driver, Arm Ltd Arm 5th Gen GPU Architecture Kernel Driver permite a un usuario local sin privilegios realizar operaciones de procesamiento de memoria GPU inadecuadas para obtener acceso a la memoria ya liberada. Este problema afecta al controlador del kernel de GPU Midgard: desde r19p0 hasta r32p0; Controlador del kernel de GPU Bifrost: desde r7p0 hasta r48p0; Controlador del kernel de GPU Valhall: desde r19p0 hasta r48p0; Controlador del kernel de arquitectura de GPU Arm de quinta generaciĆ³n: desde r41p0 hasta r48p0.
In mmu_insert_pages_no_flush(), when a HUGE_HEAD page is mapped to a 2M aligned GPU address, this is done by creating an Address Translation Entry (ATE) at MIDGARD_MMU_LEVEL(2) (in other words, an ATE covering 2M of memory is created). This is wrong because it assumes that at least 2M of memory should be mapped. mmu_insert_pages_no_flush() can be called in cases where less than that should be mapped, for example when creating a short alias of a big native allocation. Later, when kbase_mmu_teardown_pgd_pages() tries to tear down this region, it will detect that unmapping a subsection of a 2M ATE is not possible and write a log message complaining about this, but then proceed as if everything was fine while leaving the ATE intact. This means the higher-level code will proceed to free the referenced physical memory while the ATE still points to it.
CVSS Scores
SSVC
- Decision:Track
Timeline
- 2024-01-18 CVE Reserved
- 2024-04-19 CVE Published
- 2024-05-13 First Exploit
- 2024-08-01 CVE Updated
- 2025-03-30 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
CWE
- CWE-416: Use After Free
CAPEC
References (2)
URL | Tag | Source |
---|---|---|
https://developer.arm.com/Arm%20Security%20Center/Mali%20GPU%20Driver%20Vulnerabilities |
URL | Date | SRC |
---|---|---|
https://packetstorm.news/files/id/178539 | 2024-05-13 |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Arm Search vendor "Arm" | 5th Gen Gpu Architecture Kernel Driver Search vendor "Arm" for product "5th Gen Gpu Architecture Kernel Driver" | * | - |
Affected
| ||||||
Arm Search vendor "Arm" | Bifrost Gpu Kernel Driver Search vendor "Arm" for product "Bifrost Gpu Kernel Driver" | * | - |
Affected
| ||||||
Arm Search vendor "Arm" | Midgard Gpu Kernel Driver Search vendor "Arm" for product "Midgard Gpu Kernel Driver" | * | - |
Affected
| ||||||
Arm Search vendor "Arm" | Valhall Gpu Kernel Driver Search vendor "Arm" for product "Valhall Gpu Kernel Driver" | * | - |
Affected
|