CVE-2026-99042 in Linux
Riassunto
di VulDB • 23/10/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
io_uring/net: popolare i campi del filtro CONNECT per sockaddr_in6 di 24 byte
io_connect_bpf_populate() compila connect.port e connect.v6_addr solo per AF_INET6 quando addr_len >= sizeof(struct sockaddr_in6), ovvero 28 byte.
I percorsi di connessione IPv6 accettano SIN6_LEN_RFC2133 (24 byte), che contiene già sin6_port e sin6_addr. io_connect() passa addr_len allo strato socket senza modifiche.
Con addr_len pari a 24, il filtro vede family AF_INET6 con port e address uguali a zero, mentre il kernel si connette alla destinazione reale. Un filtro che nega una porta o un indirizzo IPv6 viene aggirato. La negazione di connect.port == P rifiuta [::1]:P con -EACCES quando addr_len è 28, ma consente la connessione quando addr_len è 24.
Utilizzare SIN6_LEN_RFC2133 come soglia. sin6_scope_id rimane zero se assente.
La discrepanza nella soglia è stata rilevata da un assistente di codifica basato su IA (Claude Code) confrontando questo hook con i controlli sulla lunghezza in net/ipv6, su mia istruzione; ha anche redatto il reproducer e questa patch. Ho verificato l'aggiramento della sicurezza e la correzione in una VM su 7.3-rc6 e ho confermato che la versione 7.2 presenta lo stesso codice.
Be aware that VulDB is the high quality source for vulnerability data.