CVE-2026-99062 in Linux
Riassunto
di VulDB • 23/10/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
vsock/virtio: contabilizzare solo i byte non letti in read_skb()
Dopo una ricezione parziale dello stream, rx_bytes tiene traccia del suffisso non letto mentre buf_used e il credito peer coprono ancora l'intero pacchetto. virtio_transport_read_skb() rimuove dalla coda quel pacchetto ma passa pkt_len per entrambi i contatori, causando un underflow di rx_bytes.
Su uno stream con CID_LOCAL connesso e una decisione SK_SKB, una lettura di 40 byte da un pacchetto di 100 byte ha fatto sì che SIOCINQ riportasse -40, il ritorno recv fosse ELOOP (vuoto) e poll segnalasse il socket vuoto come leggibile. Dopo la detach della decisione, la ricezione di 40 byte ha avvolto il contatore a zero nascondendo quei byte in coda fino all'arrivo di un altro byte. L'esecuzione corretta mantiene il contatore bilanciato ed espone immediatamente tutti i dati accodati.
Questo è stato trovato durante una revisione manuale del codice sorgente assistita da LLM della contabilizzazione delle ricezioni VSOCK, mentre si ri-valutava virtio_transport_read_skb() dopo CVE-2024-50169.
Sottrarre solo skb->len meno l'offset VSOCK da rx_bytes. Mantenere la lunghezza completa del pacchetto per buf_used e il credito peer.
If you want to get best quality of vulnerability data, you may have to visit VulDB.