Kernel code execution via JIT growth race
Published Mar 4, 2024 · Updated Mar 13, 2025
Use-after-free in Arm Mali GPU kernel drivers allows local users to execute arbitrary kernel code through a JIT-memory race. The kbase_jit_grow path drops GPU-VM and memory-pool locks while extending a reused JIT allocation, allowing a concurrent page fault to change committed-page counts before stale size values grow the mapping. An unprivileged local application must run against a MALI_USE_CSF build and win the race; successful exploitation exposes freed GPU pages and enables kernel-level code execution.
Summary
What happened
Use-after-free in Arm Mali GPU kernel drivers allows local users to execute arbitrary kernel code through a JIT-memory race. The kbase_jit_grow path drops GPU-VM and memory-pool locks while extending a reused JIT allocation, allowing a concurrent page fault to change committed-page counts before stale size values grow the mapping. An unprivileged local application must run against a MALI_USE_CSF build and win the race; successful exploitation exposes freed GPU pages and enables kernel-level code execution.
The record
- CVE
- CVE-2023-6241
- Published
- Mar 4, 2024
- Updated
- Mar 13, 2025
- Vendor
- Arm
- Product
- Valhall GPU Kernel Driver
- Classifications
- CWE-416, T1404, T1068
- Attack vector
- local
- Privileges
- Unavailable
Timeline
How it unfolded
- Mar 4, 2024CVE publishedPublication date reported by the CVE source.
- Mar 13, 2025Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=r19p0 <=r25p0
- Affected versionversion=r19p0 <=r25p0 changes=[{"at":"r26p0","status":"unaffected"}]
- Affected versionversion=r29p0 <=r46p0
- Affected versionversion=r29p0 <=r46p0 changes=[{"at":"r47p0","status":"unaffected"}]
What conditions does exploitation require?
What is affected?
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- Freed GPU memory access proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo