CVE-2026-80761 in Linux
Riassunto
di VulDB • 04/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
Bluetooth: ISO: azzerare il sockaddr prima di restituirlo in getname
iso_sock_getname() riempie una struct sockaddr_iso in loco e ne restituisce le dimensioni senza averla precedentemente azzerata; pertanto, i byte non scritti vengono copiati nello spazio utente dal kernel stack. I percorsi getsockname(2) e getpeername(2) passano entrambi attraverso do_getsockname(), che fornisce a getname() una sockaddr_storage non inizializzata sullo stack e copia indietro fino al numero di byte restituiti da getname(); il driver deve quindi inizializzare ogni byte gestito.
Due intervalli rimangono non inizializzati:
- struct sockaddr_iso ha 10 byte ma ne vengono scritti solo 9 (family, iso_bdaddr, iso_bdaddr_type), causando la fuoriuscita del byte di padding finale ad ogni chiamata. - per un peer broadcast (BIS_LINK o PA_LINK) la lunghezza restituita aumenta di sizeof(struct sockaddr_iso_bc), ma vengono compilati solo bc_sid, bc_num_bis e bc_bis; bc_bdaddr e bc_bdaddr_type, i primi 7 byte di tale struttura, non sono mai scritti.
Un processo non privilegiato può aprire un socket BTPROTO_ISO ed accedere alla fuoriuscita del padding tramite getsockname(); la fuoriuscita broadcast richiede una connessione BIS/PA stabilita. l2cap e rfcomm già azzerano il loro sockaddr in getname per lo stesso motivo; fare altrettanto qui.
If you want to get best quality of vulnerability data, you may have to visit VulDB.