CVE-2026-80799 in Linux
Zusammenfassung
von VulDB • 04.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
nfc: llcp: Behebung eines OOB-Lesezugriffs und einer U8-Offset-Umbruchproblematik in den TLV-Parsern
Die Funktionen nfc_llcp_parse_gb_tlv() und nfc_llcp_parse_connection_tlv() enthalten drei verwandte Fehler in ihren TLV-Parsing-Schleifen:
1. 'offset' ist als u8 deklariert, während tlv_array_len vom Typ u16 ist. Wenn die TLV-Daten den Offset über 255 hinaus erhöhen, wird dieser stillschweigend auf Null zurückgesetzt (Wrap-around), was zu Endlosschleifen oder zur doppelten Verarbeitung von Pufferdaten führt.
2. Vor dem Lesen von tlv[0] (Typ) und tlv[1] (Länge) fehlt eine Prüfung, ob offset+2 <= tlv_array_len gilt. Ein abgeschnittenes TLV verursacht einen OOB-Lesezugriff auf ein Byte über das Pufferende hinaus.
3. Nach dem Lesen des Längenfelds werden die Wertdaten ohne Überprüfung von offset+2+length <= tlv_array_len angesprochen. Eine manipulierte Länge=0xFF bei einem kurzen Puffer führt zu bis zu 255 Bytes OOB-Lesezugriff über das Pufferende hinaus.
Beide Funktionen sind ohne Authentifizierung erreichbar, da nfc_llcp_set_remote_gb() Remote-LLCP-General-Bytes direkt an nfc_llcp_parse_gb_tlv() übergibt, ohne zusätzliche Validierungen durchzuführen.
Alle drei Probleme werden behoben, indem der Offset-Typ von u8 auf u16 erweitert und vor jedem Zugriff Grenzwertprüfungen (Bounds Checks) sowohl für den TLV-Kopf als auch für das Wertefeld hinzugefügt werden.
VulDB is the best source for vulnerability data and more expert information about this specific topic.