ZeroHour

CVE-2026-80745

niche

Out-of-bounds voltage table access in Linux kernel FP9931 regulator driver

CVSS 3.1
8.4 high
EPSS
<1%p2
Published
()
Modified
AI analysis

The fp9931 regulator driver in the Linux kernel maps VPOS/VNEG voltage selectors using an array (VPOSNEG_table[]) that does not match the FP9931 datasheet: it contains one duplicate 7.04V entry (shifting all subsequent mappings by one) and only 41 entries where the 0x00-0x3F selector range requires 64. If the hardware selector is programmed to a value above 0x28, the driver performs an out-of-bounds array access, which per the assigned CVSS carries high confidentiality, integrity and availability impact (potential kernel memory disclosure, memory corruption, or a crash). The incorrect low-end mapping also means affected boards could program the +/- display supply rails to slightly wrong voltages even at valid selectors. Only systems running Linux kernels built with the fp9931 regulator driver are affected, i.e. embedded boards that use the FP9931 PMIC. No public proof-of-concept, in-the-wild exploitation, or KEV listing is known, and EPSS estimates only a 0.1% probability of exploitation within 30 days.

What to do: Update affected systems to a kernel containing the corrected VPOSNEG_table[] (64 entries matching the datasheet) when it reaches your distribution; there is no workaround beyond disabling or avoiding the fp9931 driver on boards that do not use the PMIC. Check whether your kernel build includes the fp9931 regulator driver and whether your hardware actually uses the FP9931; given no known exploitation, patching at the next regular maintenance cycle is reasonable.

Affected
Linux kernel, fp9931 regulator driverKernel versions including the fp9931 driver with the pre-fix VPOSNEG_table[]; no specific vulnerable or fixed version range provided in the advisory (fix applie
Estimated exposure
nicheunknown — plausibly thousands of embedded devices at most; no public deployment counts for this driver — The FP9931 is a niche power-management/display-rail PMIC used only in specific embedded boards, so exposure is limited to systems whose kernels enable this driver, and no public install or scan counts exist.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

In the Linux kernel, the following vulnerability has been resolved: regulator: fp9931: Fix VPOS/VNEG voltage selector table The VPOSNEG_table[] mapping does not match the FP9931 datasheet. The datasheet defines the VPOS/VNEG voltage mapping as: 00h-04h -> 7.04V (-7.04V) 05h -> 7.26V (-7.26V) 06h -> 7.49V (-7.49V) ... 28h-3Fh -> 15.06V (-15.06V) However, VPOSNEG_table[] has two issues: 1. Selector 0x00~0x04 should all map to 7.04V (5 entries), but the table has 6 entries of 7.04V, causing all subsequent entries to be shifted by one position. 2. Selectors 0x29~0x3F should all clamp to 15.06V (23 entries), but the table has only 41 entries. Any selector value above 0x28 would result in an out-of-bounds table access. Fix both issues by removing the duplicate 7.04V entry and appending the missing 23 clamped 15.06V entries, bringing the table to the correct size of 64 entries (0x00~0x3F).

Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.