CVE-2026-23149
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2026-23149 is a vulnerability in the Linux kernel's DRM (Direct Rendering Manager) subsystem, specifically in the drm_gem_change_handle_ioctl() function, that allows a local low-privileged user to trigger kernel warnings and cause a denial of service. The issue arises from a type mismatch: GEM buffer object handles are defined as u32 in the user API, but the internal idr_alloc() implementation operates on int ranges. Passing a handle value larger than INT_MAX trivially triggers a WARN_ON_ONCE in idr_alloc(). Affected versions include Linux kernel 6.18 through 6.18.8 and 6.19-rc1 through 6.19-rc7. It carries a CVSS v3.1 base score of 5.5 (Medium) (Feedly).

Technical details

The root cause is an integer type boundary issue (related to CWE-190, Integer Overflow or Wraparound) in drm_gem_change_handle_ioctl(). Because GEM BO handles are u32 in the UAPI but idr_alloc() uses signed int ranges, a userspace-supplied handle value exceeding INT_MAX causes idr_alloc() to receive a negative start parameter, triggering WARN_ON_ONCE(start < 0) and returning -EINVAL. The fix rejects new handle values above INT_MAX at the ioctl input validation layer and clarifies the end-limit calculation by keeping arithmetic within the int domain (Feedly, Kernel Patch 1, Kernel Patch 2). Exploitation requires only local access with low privileges and no user interaction.

Impact

Successful exploitation allows an unprivileged local attacker to trigger kernel warnings via the DRM ioctl interface, resulting in a denial of service condition. The impact is limited to availability — there is no confidentiality or integrity impact. The vulnerability does not enable code execution, privilege escalation, or lateral movement, and its scope is confined to the affected system (Feedly).

Exploitation steps

  1. Gain local access: Obtain a low-privileged local user account on a system running Linux kernel 6.18 through 6.18.8 or 6.19-rc1 through 6.19-rc7 with a DRM-capable GPU.
  2. Identify the DRM device: Locate an accessible DRM device node (e.g., /dev/dri/card0) that the user has permission to open.
  3. Craft a malicious ioctl call: Write a program that opens the DRM device and calls the DRM_IOCTL_GEM_CHANGE_HANDLE ioctl, supplying a new_handle value greater than INT_MAX (e.g., 0x80000000 or higher) as the target handle.
  4. Trigger the kernel warning: The oversized handle value is passed to idr_alloc() as a negative start parameter, causing WARN_ON_ONCE(start < 0) to fire and generating a kernel warning in the system log, potentially disrupting system stability (Feedly).

Indicators of compromise

  • Logs: Kernel warning messages in /var/log/kern.log or dmesg output containing WARNING: traces originating from idr_alloc() or drm_gem_change_handle_ioctl(), particularly with a start < 0 condition.
  • Process: Unusual processes repeatedly opening /dev/dri/card* device nodes and issuing ioctl calls with anomalous handle values.
  • System: Elevated rate of -EINVAL returns from DRM ioctl calls logged by audit frameworks (e.g., auditd) for low-privileged users interacting with DRM devices.

Mitigation and workarounds

The fix is available in Linux kernel version 6.18.9 and later stable releases. Patches have been committed to the kernel.org stable repositories at commits 12f15d52d38ac53f7c70ea3d4b3d76afed04e064 and ae8831ee0fb2f5f41f39722e7b3749d65bb78d08. Administrators should upgrade to kernel 6.18.9 or apply the relevant stable patches. As a temporary workaround, restricting unprivileged user access to DRM device nodes (e.g., via udev rules or group permissions) can reduce exposure (Feedly, Kernel Patch 1, Kernel Patch 2).

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-64557NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-selftests-internal
NoNoJul 29, 2026
CVE-2026-64556NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-64k-devel
NoNoJul 29, 2026
CVE-2026-64555NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-fde-6.14
NoNoJul 27, 2026
CVE-2026-64554NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-gcp-6.14
NoYesJul 27, 2026
CVE-2026-64553NONEN/A
  • Linux Kernel logoLinux Kernel
  • kernel-rt-64k-debug-modules-internal
NoYesJul 27, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management