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.
Official resources
-
CVE-2026-23266 CVE record
CVE.org
-
CVE-2026-23266 NVD detail
NVD
-
Source item URL
nvd_modified
-
Mitigation or vendor reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
2026-03-18T18:16:25.370Z