CVE-2026-31570 in Linuxinfo

Zusammenfassung

von VulDB • 21.05.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

can: gw: Behebung eines OOB-Heap-Zugriffs in cgw_csum_crc8_rel()

cgw_csum_crc8_rel() berechnet korrekt grenzwert-sichere Indizes über calc_idx():

int from = calc_idx(crc8->from_idx, cf->len); int to = calc_idx(crc8->to_idx, cf->len); int res = calc_idx(crc8->result_idx, cf->len);

if (from < 0 || to < 0 || res < 0) return;

Die Schleife und das Schreiben des Ergebnisses verwenden jedoch anschließend die rohen s8-Felder direkt anstelle der berechneten Variablen:

for (i = crc8->from_idx; ...) /* FEHLER: roher negativer Index */ cf->data[crc8->result_idx] = ...; /* FEHLER: roher negativer Index */

Bei from_idx = to_idx = result_idx = -64 in einem 64-Byte-CAN-FD-Frame ergibt calc_idx(-64, 64) = 0, sodass der Guard bestanden wird, die Schleife jedoch mit i = -64 iteriert, cf->data[-64] liest und der Schreibzugriff auf cf->data[-64] erfolgt. Dieser Schreibzugriff kann bis zu 56 Bytes (7.0-rc) oder 40 Bytes (<= 6.19) vor dem Start von canfd_frame im Heap liegen.

Die Begleitfunktion cgw_csum_xor_rel() verwendet `from`/`to`/`res` durchgängig korrekt; cgw_csum_crc8_rel() wurde zur Übereinstimmung korrigiert.

Bestätigt mit KASAN auf linux-7.0-rc2: BUG: KASAN: slab-out-of-bounds in cgw_csum_crc8_rel+0x515/0x5b0 Read of size 1 at addr ffff8880076619c8 by task poc_cgw_oob/62

Zur Konfiguration der can-gw crc8-Prüfsummen ist CAP_NET_ADMIN erforderlich.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

09.03.2026

Veröffentlichung

24.04.2026

Moderieren

akzeptiert

Eintrag

VDB-359424

CPE

bereit

EPSS

0.00028

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!