CVE-2026-89725 media: cec: stm32: prevent out-of-bounds write on RX overflow

High 8.8 Published Updated

A remote CEC peer can trigger an out-of-bounds write in the STM32 CEC driver, potentially leading to kernel memory corruption and privilege escalation.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-89725?

CVE-2026-89725 is a high-severity 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:

media: cec: stm32: prevent out-of-bounds write on RX overflow

stm32_rx_done() appends each received CEC byte to rx_msg.msg[] using rx_msg.len as the write index, incrementing it on every RXBR (receive-byte-ready) interrupt without checking it against the buffer size:

cec->rx_msg.msg[cec->rx_msg.len++] = val & 0xFF;

rx_msg.msg[] is a fixed CEC_MAX_MSG_SIZE (16) byte array in struct cec_msg, and rx_msg.len is only reset on RXACKE/RXOVR or after a completed message (RXEND). The number of bytes received before RXEND is decided by the remote CEC device (it sets EOM), not by the driver. A peer that keeps sending bytes without ending the message drives RXBR repeatedly, pushing rx_msg.len past 16 and writing peer-controlled bytes out of bounds into the surrounding memory. This is reachable in normal operation once the driver has probed and receiving is enabled, from the IRQ thread, without any local privilege.

The length check in the CEC core runs on the consumer side, after the byte has been stored, so it does not prevent the overflow. Bound the index in the driver before the store, as the other platform CEC drivers already do (e.g. tegra_cec), dropping the excess bytes of an overlong frame.

Found by static analysis tool CodeQL.

Which versions are affected by CVE-2026-89725?

How do I fix CVE-2026-89725?

Apply the vendor's patch.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2026-89725 being exploited?

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

Sources

Also known as BELL-CVE-2026-89725, DEBIAN-CVE-2026-89725, GHSA-946x-47hf-5c7p, UBUNTU-CVE-2026-89725.

Is CVE-2026-89725 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free