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: out-of-bounds memory access leading to kernel instability
Action: Apply patch
AI Analysis

Impact

In the Linux kernel’s regulator subsystem for the FP9931 device, the VPOS/VNEG selector table contains a duplicate entry for 7.04 V and is missing the final 23 entries that clamp higher values to 15.06 V. Because the table has only 41 entries, any selector value above 0x28 causes an out‑of‑bounds array read. The result is memory corruption that can lead to kernel crashes or, if exploited, privilege escalation because the fault occurs in high‑privilege kernel code. This flaw is a classic buffer overflow.

Affected Systems

All Linux kernel builds that ship the unpatched FP9931 regulator driver are affected. This includes any distribution that provides the kernel without the upstream commit that fixes the table size and contents. The specific kernel release list is not enumerated in the advisory, so administrators should treat all kernels that have not yet applied the patch for the FP9931 driver as vulnerable.

Risk and Exploitability

The EPSS score is < 1 % and the vulnerability is not listed in the CISA KEV catalog, indicating a low historical exploitation probability. However, the CVSS score of 8.4 denotes high severity. Based on the description, it is inferred that attackers would need to manipulate regulator settings, which could be achieved through device firmware, custom drivers, or code running with kernel privileges. If successful, the out‑of‑bounds access could compromise system integrity or availability.

Generated by OpenCVE AI on September 4, 2026 at 08:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the committed fix for the FP9931 regulator table
  • If an immediate kernel update is not possible, patch the driver locally with the upstream changes that correct the table size and content
  • As a temporary workaround, restrict regulator values to the 0x00–0x28 range by enforcing bounds checks in firmware or disabling the FP9931 regulator on systems that cannot be patched
  • Consider disabling the FP9931 regulator entirely or replacing the hardware if the patch cannot be applied in a reasonable timeframe

Generated by OpenCVE AI on September 4, 2026 at 08:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Weaknesses CWE-120
CWE-129

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

Type Values Removed Values Added
Weaknesses CWE-119

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-04T09:00:05Z

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

  • CWE-129

    Improper Validation of Array Index