CVE-2026-99165 in Linux
Résumé
par VulDB • 28/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
sctp : revalider le flux de sortie après l'attente de connexion de l'association
Lorsque l'entrelacement des messages est activé, le premier envoi attend l'établissement de l'association avant de construire ses chunks de données. L'attente libère le verrou du socket (socket lock), et le traitement de la poignée de main (handshake) peut réduire le nombre de flux de sortie au niveau du compte de flux entrant annoncé par le pair. sctp_stream_init() libère ensuite l'extension de chaque flux supprimé.
L'émetteur reprend avec le flux qu'il a vérifié avant l'attente. Si le pair a supprimé ce flux, sctp_outq_tail() déréférence ultérieurement son extension NULL. Les politiques « Fatal-oops » provoquent alors un panic sur l'hôte.
KASAN : null-ptr-deref dans la plage [0x38-0x3f]
RIP : sctp_outq_tail+0x49e/0xaa0 Trace d'appel (Call Trace) : sctp_primitive_SEND sctp_sendmsg_to_asoc sctp_sendmsg
Une simple vérification de plage est insuffisante. La reconfiguration des flux peut augmenter à nouveau le compte de sortie tandis que le verrou est libéré, sans recréer les extensions supprimées par la réduction précédente. Le flux peut alors se trouver dans une plage valide tout en ayant son extension restée NULL. L'attente du tampon d'envoi (send-buffer wait) présente le même problème.
Factoriser les vérifications de plage et d'extension dans une fonction utilitaire, et répéter ces deux vérifications après chaque attente sur le chemin d'envoi qui libère le verrou du socket. Une fois que le verrou est réacquis, la validation reste stable tout au long de la création des données et de leur mise en file d'attente (queueing).
Si la validation échoue après l'attente de connexion, l'association auto-créée est déjà établie. Retourner ESRCH afin que le chemin d'appel existant maintienne cette association sous la propriété du machine à états (state-machine), plutôt que de la libérer directement, ce qui laisserait les états du protocole, des compteurs et du socket incohérents.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.