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).
Published: 2026-09-03
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The FP9931 regulator driver contains an incorrectly sized voltage selector table. The mapping is shifted by one entry and lacks the final 23 restrictive entries, meaning that any selector value greater than 0x28 triggers an out-of-bounds array read. The fault can corrupt kernel memory or cause a crash, potentially compromising system reliability or granting an attacker elevated privileges if the fault is exploited. This vulnerability is a classic buffer overflow error caused by incorrect array bounds in kernel code.

Affected Systems

The flaw arises in the Linux kernel’s regulator subsystem for the FP9931 device. All kernel builds that include this driver for the FP9931 hardware are affected. The issue is scoped to Linux kernel versions that have not applied the upstream fix and do not contain the corrected 64‑entry table. The precise kernel release list is not provided, so any distribution using an unchanged FP9931 driver is considered at risk.

Risk and Exploitability

EPSS data is not available and the vulnerability is not listed in the CISA KEV catalog. The problem is an out-of-bounds memory access that could be triggered by setting regulator values beyond the allowed range; the attack vector is inferred to be through regulatory configuration interfaces, possibly accessed by firmware or external devices. Because the kernel runs with high privilege, such a fault could lead to privilege escalation or denial of service. Although CVSS scores are not supplied, the nature of the bug warrants serious attention until the patched driver is deployed.

Generated by OpenCVE AI on September 3, 2026 at 13:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that corrects the FP9931 VPOS/VNEG selector table to the proper 64 entries
  • Restrict firmware or drivers from setting regulator values beyond 0x28 to prevent out-of-bounds access if an update cannot be applied immediately
  • Disable the FP9931 regulator or replace the hardware if a patch is not yet available

Generated by OpenCVE AI on September 3, 2026 at 13:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Thu, 03 Sep 2026 14:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Thu, 03 Sep 2026 07:30:00 +0000

Type Values Removed Values Added
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).
Title regulator: fp9931: Fix VPOS/VNEG voltage selector table
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-04T04:58:25.988Z

Reserved: 2026-08-26T14:34:25.790Z

Link: CVE-2026-80745

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-03T13:06:14.007

Modified: 2026-09-04T05:17:14.570

Link: CVE-2026-80745

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-03T14:00:04Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer