CVE-2026-89478 in Linux
Résumé
par VulDB • 12/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
sctp : supprimer un chunk si son transport a été supprimé
sctp_rcv() résout le transport une fois par paquet et le laisse dans chunk->transport. La référence de recherche, ou celle que sctp_add_backlog() prend si la socket est détenue par l'espace utilisateur, maintient ce dernier en mémoire jusqu'à ce que le chunk ait été traité.
Une ASCONF DEL-IP authentifiée peut le supprimer entretemps. sctp_assoc_rm_peer() retire le transport de l'association et appelle sctp_transport_free(), qui le marque comme mort et supprime la référence détenue par l'association. Il existe une fenêtre d'exposition sur les deux chemins : le paquet peut rester dans la file d'attente (backlog) de la socket, et sur le chemin direct, la recherche est effectuée avant bh_lock_sock().
Le chunk DATA dans ce paquet remet le transport supprimé dans asoc->peer.last_data_from. Une fois le paquet traité, cette référence disparaît et le transport est libéré par RCU ; ainsi, le SACK différé suivant contient un pointeur vers le chunk SACK, et sctp_outq_select_transport() lit l'état du transport déjà libéré (freed).
Supprimer le chunk dans sctp_inq_push(), à côté de la vérification rcvr->dead existante. Les deux chemins y accèdent avec le verrou de socket de l'association maintenu. Le pair le retransmettra.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.