PatchSiren cyber security CVE debrief
CVE-2026-23266 Linux CVE debrief
A divide-by-zero vulnerability in the Linux kernel's RIVA framebuffer driver (rivafb) allows a local attacker to crash the kernel. The flaw exists in nv3_arb() within drivers/video/fbdev/riva/riva_hw.c, where state->mclk_khz is used as a divisor without validation. An attacker with access to a malicious or emulated PCI device can supply a zero value for this clock parameter via a crafted PRAMDAC MCLK PLL configuration. Triggering the FBIOPUT_VSCREENINFO ioctl on /dev/fb* then causes a divide error and kernel panic. The vulnerability requires local access and low privileges, with no confidentiality or integrity impact, but results in complete availability loss for the affected system. The issue was resolved by adding a zero check on state->mclk_khz before division.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- MEDIUM 5.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-03-18
- Original CVE updated
- 2026-05-29
- Advisory published
- 2026-03-18
- Advisory updated
- 2026-05-29
Who should care
Linux system administrators, kernel maintainers, virtualization platform operators, and security teams monitoring for local privilege escalation or denial-of-service vectors in framebuffer subsystems
Technical summary
The RIVA NV3 framebuffer driver computes FIFO arbitration parameters in nv3_arb() using state->mclk_khz as a divisor. This value is derived from the PRAMDAC MCLK PLL register and is not validated before use. A malicious or misconfigured PCI device (including emulated hardware) can present a zero MCLK value, causing a divide error when the FBIOPUT_VSCREENINFO ioctl triggers mode setting. The call path is: fb_ioctl → do_fb_ioctl → fb_set_var → rivafb_set_par → riva_load_video_mode → CalcStateExt → nv3UpdateArbitrationSettings → nv3CalcArbitration.constprop.0 → nv3_get_param → nv3_arb. The fix adds a zero check on state->mclk_khz with early bailout before the gns division.
Defensive priority
medium
Recommended defensive actions
- Apply the relevant stable kernel patch for your branch: 5.10.251+, 5.15.201+, 6.1.164+, 6.6.127+, 6.12.74+, 6.18.13+, or 6.19.3+
- If the rivafb driver is not required, consider disabling it via kernel module blacklist or build configuration
- Restrict access to framebuffer devices (/dev/fb*) to trusted users to reduce local attack surface
- Monitor for unexpected divide error kernel panics involving riva_hw.c or nv3_arb as potential exploitation indicators
- Review PCI device attachments for unauthorized or unexpected emulated hardware in virtualized environments
Evidence notes
CVE published 2026-03-18; modified 2026-05-29. NVD CPE identifies Linux kernel versions from 2.6.12 through multiple stable branches as affected. CWE-369 (Divide By Zero) assigned by NVD. Eight stable kernel patches referenced. No KEV entry. CVSS 3.1: AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H = 5.5 Medium.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-23266 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-23266
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-23266 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-23266
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/0209e21e3c372fa2da04c39214bec0b64e4eb5f4
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/3e4cbd1d46c246dfa684c8e9d8c20ae0b960c50a
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/526460a96c5443e2fc0fd231edd1f9c49d2de26b
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/52916878db2b8e3769743a94484729f0844352df
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/73f0391e92d404da68f7484e57c106c5e673dc7e
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/78daf5984d96edec3b920c72a93bd6821b8710b7
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/9efa0dc46270a8723c158c64afbcf1dead72b28c
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
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.