CVE-2026-89725

CVE-2026-89725

High · published September 12, 2026

CVSS v3.1
8.8
EPSS
0%
Percentile
17.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00262 · 17.1th percentile
Published
2026-09-12T00:20Z
References (8)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:46Z
    media: cec: stm32: prevent out-of-bounds write on RX overflow
    cvelistv5