CVE-2026-64403 in Linuxinformazioni

Riassunto

di VulDB • 26/07/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

Bluetooth: L2CAP: convalidare la lunghezza dell'opzione prima di leggere il valore delle opzioni di configurazione (conf opt)

La funzione `l2cap_get_conf_opt()` ricava la lunghezza dell'opzione dal campo `opt->len`, controllato dall'attaccante, e dereferenzia immediatamente `opt->val` (come u8, tramite `get_unaligned_le16()` o `get_unaligned_le32()`, oppure come puntatore grezzo per il caso predefinito) prima che qualsiasi chiamante abbia confermato la presenza di `opt->len` byte nel buffer. I chiamanti (`l2cap_parse_conf_req()`, `l2cap_parse_conf_rsp()` e `l2cap_conf_rfc_get()`) rilevano solo in seguito un'opzione malformata, una volta che il conteggio della lunghezza è diventato negativo; a quel punto la lettura fuori dai limiti (out-of-bounds read) è già stata eseguita.

Un controllo di lunghezza post-hoc esistente impedisce al valore spurio di essere consumato, quindi non si tratta attualmente di una fuoriuscita di dati nel flusso di controllo corrente. Si tratta comunque di un bug di ordinamento "validate-after-use": fino a 4 byte vengono letti oltre la fine del buffer prima che sia noto se contengono tali valori, e questa implementazione è fragile rispetto a futuri cambiamenti nei chiamanti.

La correzione avviene alla radice del problema. Viene passato il limite finale del buffer a `l2cap_get_conf_opt()` e si rifiuta di accedere a `opt->val` a meno che l'opzione completa (header + valore) non rientri interamente nel buffer. Ogni chiamante calcola un puntatore al termine una sola volta prima dell'inizio del ciclo ed verifica direttamente il valore restituito, anziché dedurre l'errore da una lunghezza negativa.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Fonti

Do you know our Splunk app?

Download it now for free!