
Cloud Vulnerability DB
A community-led vulnerabilities database
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).
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.
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).
/dev/dri/card0) that the user has permission to open.DRM_IOCTL_GEM_CHANGE_HANDLE ioctl, supplying a new_handle value greater than INT_MAX (e.g., 0x80000000 or higher) as the target handle.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)./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./dev/dri/card* device nodes and issuing ioctl calls with anomalous handle values.-EINVAL returns from DRM ioctl calls logged by audit frameworks (e.g., auditd) for low-privileged users interacting with DRM devices.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).
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."