CVE-2026-89725 in Linuxinfo

Zusammenfassung

von VulDB • 12.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

media: cec: stm32: Verhindern von Out-of-Bounds-Schreibzugriffen bei RX-Überlauf

stm32_rx_done() hängt jedes empfangene CEC-Byte an rx_msg.msg[] an, wobei rx_msg.len als Schreibindex verwendet wird. Dieser Index wird bei jedem RXBR-Interrupt (Receive-Byte-Ready) inkrementiert, ohne ihn gegen die Puffergröße zu prüfen:

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

rx_msg.msg[] ist ein festes Array der Größe CEC_MAX_MSG_SIZE (16 Byte) in struct cec_msg. rx_msg.len wird nur bei RXACKE/RXOVR oder nach Abschluss einer Nachricht (RXEND) zurückgesetzt. Die Anzahl der vor RXEND empfangenen Bytes wird vom entfernten CEC-Gerät bestimmt (es setzt EOM), nicht vom Treiber. Ein Peer, das fortlaufend Bytes sendet, ohne die Nachricht zu beenden, löst wiederholt RXBR aus und schiebt rx_msg.len über den Wert 16 hinaus, wodurch peer-kontrollierte Bytes außerhalb der Grenzen in den umgebenden Speicher geschrieben werden. Dies ist im normalen Betrieb erreichbar, sobald der Treiber initialisiert wurde (probed) und das Empfangen aktiviert ist, vom IRQ-Thread aus, ohne jegliche lokalen Privilegien.

Die Längenprüfung im CEC-Core erfolgt auf Verbraucherseite nach dem Speichern des Bytes, verhindert den Überlauf also nicht. Der Index muss im Treiber vor der Speicherung begrenzt werden, wie es die anderen Plattform-CEC-Treiber bereits tun (z. B. tegra_cec), wobei überschüssige Bytes eines zu langen Frames verworfen werden.

Gefunden durch das statische Analysewerkzeug CodeQL.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

11.09.2026

Moderieren

akzeptiert

Eintrag

VDB-402555

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!