# CVE-2026-80745: regulator: fp9931: Fix VPOS/VNEG voltage selector table

> An out-of-bounds read in the FP9931 regulator driver can cause a kernel crash or undefined behavior due to incorrect voltage selector table indexing.

- **Severity:** High 8.4 (`CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 3 Sep 2026
- **Updated:** 4 Sep 2026
- **Also known as:** DEBIAN-CVE-2026-80745, GHSA-q96v-q649-9jp5, UBUNTU-CVE-2026-80745

## What is CVE-2026-80745?

CVE-2026-80745 is a high-severity memory corruption vulnerability in Linux, published on 3 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official 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).

## Which versions are affected by CVE-2026-80745?


## How do I fix CVE-2026-80745?

Apply the vendor's patch.

## Is CVE-2026-80745 being exploited?

There is no known exploitation of CVE-2026-80745 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-80745 and fix it if it is affected.

What it is: CVE-2026-80745 is a high-severity memory corruption vulnerability in Linux, published on 3 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-80745 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-80745/ (Markdown: https://insights.sbomify.com/CVE-2026-80745/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-80745
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-80745
- OSV: https://osv.dev/vulnerability/CVE-2026-80745

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-80745/
Summaries are generated and may contain mistakes; the official description above is the record.
