CVE-2026-93058
NoneCVSS
—
EPSS
0.2%
Published
Sep 17, 2026
CISA due date
—
Cloudanix analysis
A graphics driver bug in Linux could let someone with access to the computer crash the whole system or take control of it.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Theoretical
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in drm/msm ringbuffer creation when drm_sched_init fails partway through; the error path invokes drm_sched_fini on an incompletely initialized scheduler, freeing or accessing uninitialized work items, lists, and workqueue state.
Why it matters to the business
Systems using the MSM graphics driver (common on Qualcomm-based devices) risk kernel crashes, memory corruption, or local privilege escalation; widespread Linux distributions and embedded devices are affected until patched kernels are deployed.
How an attack unfolds
An attacker with local access triggers a deliberate failure in drm_sched_init (for example via resource exhaustion or crafted parameters) so that the subsequent call to drm_sched_fini operates on a partially constructed scheduler object, resulting in a use-after-free that can be leveraged for arbitrary kernel code execution.
How to fix it
Update to a Linux kernel containing the fix that records successful drm_sched_init completion and only invokes drm_sched_fini on fully initialized objects; rebuild and reboot with the corrected kernel.
How to confirm the fix worked
Inspect the msm_ringbuffer source for the added success-tracking flag and conditional drm_sched_fini call; confirm the patch is present via kernel version or source diff and verify no partial-init paths remain.
Typical attack path
- Obtain local unprivileged access on a Linux system with the MSM DRM driver loaded
- Trigger allocation or scheduler setup failure inside msm_ringbuffer_new
- Force execution of the error path that unconditionally calls drm_sched_fini
- Exploit the resulting use-after-free for memory corruption or privilege escalation
How to detect it
Review kernel crash logs and dmesg for MSM scheduler teardown errors or use-after-free reports; examine audit logs for unusual local process activity targeting graphics device nodes around the time of a crash.
What your security team should do
- Prioritize kernel updates on all systems exposing the MSM DRM driver
- Monitor vendor advisories for backported fixes in distribution kernels
- Restrict unprivileged local access where feasible until patches are applied
- Reboot affected hosts after kernel upgrade to load the corrected module
The record
In the Linux kernel, the following vulnerability has been resolved: drm/msm: Only fini scheduler after successful init msm_ringbuffer_new() destroys a partially initialized ring through msm_ringbuffer_destroy() when an allocation or scheduler setup step fails. If drm_sched_init() fails before it finishes initializing the scheduler, the failure path still calls drm_sched_fini(). That teardown path assumes the scheduler work items, lists, and workqueue state were initialized. Track successful scheduler initialization and call drm_sched_fini() only after drm_sched_init() returned 0. This issue was found by a static analysis checker and confirmed by manual source review. Patchwork: https://patchwork.freedesktop.org/patch/738905/
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|