
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2023-54199 is a null pointer dereference vulnerability in the Linux kernel's DRM/MSM Adreno GPU driver, specifically within the adreno_gpu_cleanup() function. The flaw causes a kernel panic when the cleanup path is triggered after a failed GPU initialization (e.g., during a6xx_gpu_init()), resulting in a NULL pointer dereference at virtual address 0x0000000000000048. It affects the Linux kernel and was published on December 30, 2025. The vulnerability is estimated as Medium severity by Feedly, with an EPSS score of 0.00032 (Feedly, VulDB).
The root cause is a NULL pointer dereference (CWE-476) in the adreno_gpu_cleanup() function within the Linux kernel's drm/msm/adreno subsystem. When a6xx_gpu_init() fails partway through initialization and calls a6xx_destroy(), which in turn calls adreno_gpu_cleanup(), a pointer that was never properly initialized is dereferenced, triggering a kernel oops. The call trace shows the fault originates at adreno_gpu_cleanup+0x30/0x88, propagating through a6xx_destroy, a6xx_gpu_init, adreno_bind, and component_bind_all. The fix involves adding a null pointer check before the dereference in adreno_gpu_cleanup(), addressed in multiple stable kernel branches via commits such as 5fef23c1c0ed, 7af606b9eb11, 65a8b6d129cf, 399d01375659, and b26bd7791f3c (Feedly).
Successful triggering of this vulnerability causes a kernel panic (system crash), resulting in a denial of service on affected systems. The impact is limited to availability — confidentiality and integrity are not directly affected, as the crash occurs during driver initialization rather than during normal operation. Systems using Qualcomm Adreno A6xx GPUs (common in ARM-based devices running Linux, such as certain Android-based or embedded platforms) are at risk of an unrecoverable crash if the GPU driver fails to initialize properly (Feedly).
dmesg or /var/log/kern.log) containing Unable to handle kernel NULL pointer dereference at virtual address 0000000000000048 and a call trace including adreno_gpu_cleanup, a6xx_destroy, a6xx_gpu_init, adreno_bind, and component_bind_all.Internal error: Oops: 0000000096000005 in kernel logs, indicating a data abort at EL1 during GPU driver probe.Apply the upstream Linux kernel patches that add a null pointer check in adreno_gpu_cleanup(). The fix has been backported to multiple stable kernel branches via commits 5fef23c1c0ed, 7af606b9eb11, 65a8b6d129cf, 399d01375659, and b26bd7791f3c. Users should update to a patched kernel version as provided by their Linux distribution or device vendor. As a workaround, avoiding configurations or hardware states that cause a6xx_gpu_init() to fail mid-initialization can reduce exposure, but patching is the definitive remediation (Feedly).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."