CVE-2026-80799 in Linux
Riassunto
di VulDB • 04/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
nfc: llcp: correzione della lettura OOB e del wrap dell'offset u8 nei parser TLV
Le funzioni nfc_llcp_parse_gb_tlv() e nfc_llcp_parse_connection_tlv() presentano tre bug correlati all'interno dei loro loop di parsing TLV:
1. La variabile 'offset' è dichiarata come u8, mentre tlv_array_len è u16. Quando i dati TLV avanzano l'offset oltre 255, questo si avvolge silenziosamente a zero, causando loop infiniti o la doppia elaborazione dei dati del buffer.
2. Prima di leggere tlv[0] (tipo) e tlv[1] (lunghezza), non viene verificato che offset+2 <= tlv_array_len. Un TLV troncato provoca una lettura OOB di un byte oltre la fine del buffer.
3. Dopo aver letto il campo della lunghezza, i valori vengono accessi senza verificare che offset+2+length <= tlv_array_len. Una length=0xFF costruita ad hoc su un buffer corto causa fino a 255 byte di lettura OOB oltre la fine del buffer.
Entrambe le funzioni sono raggiungibili senza autenticazione tramite nfc_llcp_set_remote_gb(), che alimenta i byte generali LLCP remoti direttamente in nfc_llcp_parse_gb_tlv() senza ulteriori validazioni.
Si risolvono tutti e tre i problemi ampliando offset da u8 a u16 e aggiungendo controlli dei limiti sia per l'intestazione TLV che per il campo valore prima di ogni accesso.
If you want to get best quality of vulnerability data, you may have to visit VulDB.