# CVE-2026-80951: i3c: master: svc: bound IBI payload to the requested max_payload_len

> A missing bounds check in the Linux kernel I3C master driver allows an adjacent device to trigger an out-of-bounds write, potentially leading to code execution or privilege escalation.

- **Severity:** Not scored
- **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:** 11 Sep 2026
- **Updated:** 19 Oct 2026
- **Also known as:** AZL-100136, BELL-CVE-2026-80951, DEBIAN-CVE-2026-80951, GHSA-j6x8-pq79-v84j, UBUNTU-CVE-2026-80951

## What is CVE-2026-80951?

CVE-2026-80951 is a memory corruption vulnerability in Linux, published on 11 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:

i3c: master: svc: bound IBI payload to the requested max_payload_len

svc_i3c_master_handle_ibi() reads the IBI payload from the RX FIFO into
the IBI slot. The loop is bounded by the hardware FIFO size
(SVC_I3C_FIFO_SIZE), not by the slot size.

slot->data points into the IBI pool, which i3c_generic_ibi_alloc_pool()
sizes at max_payload_len per slot. svc_i3c_master_request_ibi() only
rejects a max_payload_len larger than SVC_I3C_FIFO_SIZE, so a driver can
request a smaller one. mctp-i3c requests 1. Each readsb() then copies the
controller RXCOUNT bytes (up to 31) with no check against the slot size.
A device that sends more bytes than the slot holds writes past
slot->data, an out-of-bounds write into the IBI pool.

Bound the loop by dev->ibi->max_payload_len and clamp each read to the
space left in the slot, the same way dw-i3c does. A device can still send
more than the requested payload. Flush the leftover bytes from the RX FIFO
so they do not leak into the next transfer.

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


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

Apply the vendor's patch.

## Is CVE-2026-80951 being exploited?

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

## Fix prompt for AI coding agents

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

What it is: CVE-2026-80951 is a memory corruption vulnerability in Linux, published on 11 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-80951 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-80951/ (Markdown: https://insights.sbomify.com/CVE-2026-80951/index.md)
```

## Sources

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

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