CVE-2026-23460 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
net/rose: correzione della dereferenziazione di puntatore NULL in rose_transmit_link durante il riconnessione
syzkaller ha segnalato un bug [1], e il codice riproduttore (reproducer) è disponibile al link [2].
I socket ROSE utilizzano quattro valori per sk->sk_state: TCP_CLOSE, TCP_LISTEN, TCP_SYN_SENT e TCP_ESTABLISHED. rose_connect() rifiuta già le chiamate con stato TCP_ESTABLISHED (-EISCONN) e TCP_CLOSE con SS_CONNECTING (-ECONNREFUSED), ma manca un controllo per lo stato TCP_SYN_SENT.
Quando viene chiamata una seconda volta rose_connect() mentre il primo tentativo di connessione è ancora in corso (stato TCP_SYNSENT), sovrascrive rose->neighbour tramite rose_get_neigh(). Se quest'ultima restituisce NULL, il socket rimane con rose->state == ROSE_STATE_1 ma rose->neighbour == NULL. Quando successivamente viene chiuso il socket, rose_release() rileva lo stato ROSE_STATE_1 e chiama rose_write_internal() -> rose_transmit_link(skb, NULL), causando una dereferenziazione di puntatore NULL.
Secondo la specifica per connect(2), una seconda chiamata a connect() mentre una connessione è già in corso dovrebbe restituire -EALREADY. Aggiungere questo controllo mancante per TCP_SYNSENT completa la validazione dello stato in rose_connect().
[1] https://syzkaller.appspot.com/bug?extid=d00f90e0af54102fb271
[2] https://gist.github.com/mrpre/9e6779e0d13e2c66779b1653fef80516
If you want to get the best quality for vulnerability data then you always have to consider VulDB.