LiveActive security incident?Get immediate response
CVE Record

CVE-2026-23266: fbdev: rivafb: fix divide error in nv3_arb()

In the Linux kernel, the following vulnerability has been resolved: fbdev: rivafb: fix divide error in nv3_arb() A userspace program can trigger the RIVA NV3 arbitration code by calling the FBIOPUT_VSCREENINFO ioctl on /dev/fb*. When doing so, the driver recomputes FIFO arbitration parameters in nv3_arb(), using state->mclk_khz (derived from the PRAMDAC MCLK PLL) as a divisor without validating it first. In a normal setup, state->mclk_khz is provided by the real hardware and is non-zero. However, an attacker can construct a malicious or misconfigured device (e.g. a crafted/emulated PCI device) that exposes a bogus PLL configuration, causing state->mclk_khz to become zero. Once nv3_get_param() calls nv3_arb(), the division by state->mclk_khz in the gns calculation causes a divide error and crashes the kernel. Fix this by checking whether state->mclk_khz is zero and bailing out before doing the division. The following log reveals it: rivafb: setting virtual Y resolution to 2184 divide error: 0000 [#1] PREEMPT SMP KASAN PTI CPU: 0 PID: 2187 Comm: syz-executor.0 Not tainted 5.18.0-rc1+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 RIP: 0010:nv3_arb drivers/video/fbdev/riva/riva_hw.c:439 [inline] RIP: 0010:nv3_get_param+0x3ab/0x13b0 drivers/video/fbdev/riva/riva_hw.c:546 Call Trace: nv3CalcArbitration.constprop.0+0x255/0x460 drivers/video/fbdev/riva/riva_hw.c:603 nv3UpdateArbitrationSettings drivers/video/fbdev/riva/riva_hw.c:637 [inline] CalcStateExt+0x447/0x1b90 drivers/video/fbdev/riva/riva_hw.c:1246 riva_load_video_mode+0x8a9/0xea0 drivers/video/fbdev/riva/fbdev.c:779 rivafb_set_par+0xc0/0x5f0 drivers/video/fbdev/riva/fbdev.c:1196 fb_set_var+0x604/0xeb0 drivers/video/fbdev/core/fbmem.c:1033 do_fb_ioctl+0x234/0x670 drivers/video/fbdev/core/fbmem.c:1109 fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1188 __x64_sys_ioctl+0x122/0x190 fs/ioctl.c:856

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This Linux kernel flaw can let a local userspace action crash the system when the legacy rivafb framebuffer driver processes a bad video configuration from a malicious or misconfigured device. The business impact is availability, not confirmed data theft or privilege escalation. Exposure appears specialized and hardware or virtualization dependent.

Executive priority

Treat this as a targeted availability risk. Prioritize patching where Linux hosts use framebuffer devices, legacy NVIDIA RIVA support, or device emulation. For typical servers without rivafb exposure, handle through normal kernel maintenance after confirming configuration.

Technical view

The bug is a divide-by-zero in rivafb nv3_arb(). FBIOPUT_VSCREENINFO on /dev/fb* can trigger recalculation using state->mclk_khz as a divisor. If a crafted or misconfigured RIVA NV3 PCI device reports PLL data that makes mclk_khz zero, the kernel hits a divide error and crashes. The fix checks zero before division.

Likely exposure

Likely limited to Linux systems with the rivafb framebuffer driver active and framebuffer devices exposed. The source specifically describes crafted, emulated, or misconfigured PCI device conditions; the crash log is from QEMU. Confirm exposure through kernel configuration, loaded modules, and distro package status.

Exploitation context

The bundle does not show active exploitation, and KEV is false. The described trigger requires local userspace interaction with /dev/fb* plus device state that causes a zero memory clock. Evidence supports denial of service through kernel crash, not remote compromise.

Researcher notes

The CVE evidence is specific: FBIOPUT_VSCREENINFO reaches nv3_get_param(), then nv3_arb(), where mclk_khz was used unchecked. The source names the remediation as a zero check and early bailout. No CVSS, CWE, exploit proof, or broader impact claims are provided.

Mitigation direction

  • Apply Linux kernel updates containing the listed stable rivafb fix.
  • Check distro or vendor advisories for fixed kernel package mappings.
  • Disable or avoid loading rivafb where it is not operationally required.
  • Limit access to framebuffer devices to trusted local users and services.
  • Avoid exposing systems to untrusted or attacker-controlled PCI device emulation.

Validation and detection

  • Inventory systems for active rivafb or RIVA framebuffer support.
  • Check whether /dev/fb* exists and who can access it.
  • Map running kernel versions to vendor-fixed builds or listed stable commits.
  • Review virtualization environments for untrusted emulated PCI device exposure.
  • Confirm patch presence by vendor changelog or kernel source package.
Prepared
Confidence
high
Sources
10

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2026-23266 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
9Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2unaffected
LinuxLinux2.6.12, 0, 5.10.251, 5.15.201, 6.1.164, 6.6.127, 6.12.74, 6.18.13, 6.19.3, 7.0affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.