PatchSiren cyber security CVE debrief
CVE-2026-46209 Linux CVE debrief
A vulnerability in the Linux kernel's Direct Rendering Manager (DRM) subsystem allows an attacker to bypass GEM object size validation, potentially leading to out-of-bounds memory access on the GPU. The root cause is an inconsistency between how plane dimensions are calculated in drm_gem_fb_init_with_funcs() (using plain integer division) versus framebuffer_check() (using DIV_ROUND_UP rounding). For certain pixel formats like NV12 with small dimensions, this causes integer underflow in size calculations, allowing undersized GEM objects to pass validation while the GPU accesses memory beyond the object's bounds.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- HIGH 7.8
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-28
- Original CVE updated
- 2026-06-10
- Advisory published
- 2026-05-28
- Advisory updated
- 2026-06-10
Who should care
Linux system administrators running GPU-enabled systems, particularly those handling video processing with YUV formats; security teams monitoring kernel vulnerabilities; developers of DRM/KMS drivers; organizations using Linux-based graphics workstations, media servers, or embedded systems with GPU acceleration
Technical summary
The vulnerability exists in drm_gem_fb_init_with_funcs() which computes sub-sampled plane dimensions using plain integer division (width / hsub, height / vsub), while the ioctl-level framebuffer_check() uses DIV_ROUND_UP() via drm_format_info_plane_width/height(). This inconsistency corrupts GEM object size validation. For example, with NV12 format (vsub=2) and a 1-pixel-tall framebuffer, the height calculation yields 0 instead of 1. The expression (height - 1) then underflows to UINT_MAX, causing min_size to overflow and wrap to a small value. This allows a tiny GEM object to pass size guards, but the GPU will access memory beyond the object's bounds when processing the chroma plane. The fix replaces open-coded divisions with drm_format_info_plane_width() and drm_format_info_plane_height() to match the rounding behavior used in framebuffer_check().
Defensive priority
high
Recommended defensive actions
- Apply kernel patches from stable kernel git repositories when available for your distribution
- Audit systems using GPU drivers that rely on DRM GEM framebuffer functionality, particularly those processing video with NV12 or other sub-sampled YUV formats
- Monitor kernel security advisories from your Linux distribution for backported fixes
- Consider restricting unprivileged user access to DRM/GPU devices where feasible
- Review application and service configurations that allow user-controlled framebuffer dimensions
Evidence notes
The vulnerability description indicates this is a kernel-level DRM/GEM framebuffer initialization bug with a clear fix pattern: replacing open-coded division with drm_format_info_plane_width/height() functions. Multiple stable kernel commits are referenced, suggesting backports to various kernel versions. The issue affects sub-sampled pixel formats (e.g., NV12 with vsub=2) and manifests when framebuffer dimensions result in fractional plane sizes that truncate to zero instead of rounding up.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-46209 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-46209
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-46209 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-46209
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/1a17ea9861e89585361caa8bc231bd22dc6dbe7d
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/1da4ab7189f1064b3b712b388772c008b4d82580
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/3d4c2268bd7243c3780fe32bf24ff876da272acf
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/6b992591e04f2cce813bcf239b354f375bbf84d3
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/c5fc49d8470c5ebf3b41607600f277158f159950
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.