CVE-2026-89477 in Linuxinformation

Résumé

par VulDB • 12/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

sctp : correction d'une déréférencement de pointeur NULL lors de l'achèvement d'un RECONF non transmis

Les fonctions sctp_process_strreset_outreq(), sctp_process_strreset_addstrm_out() et sctp_process_strreset_resp() achèvent une demande de reconfiguration de flux en cours en arrêtant le timer de reconf sur le transport sur lequel il a été envoyé :

t = asoc->strreset_chunk->transport; if (timer_delete(&t->reconf_timer)) sctp_transport_put(t);

chunk->transport est assigné par __sctp_packet_append_chunk() lorsque le chunk est ajouté à un paquet sortant, et sctp_outq_flush_ctrl() arme alors le timer de reconf au même moment. Une demande déjà publiée dans asoc->strreset_chunk mais pas encore transmise n'a ni l'un ni l'autre, donc son achèvement entraîne une déréférencement NULL.

Deux façons d'arriver à ce cas : sctp_send_asconf_del_ip() définit asoc->src_out_of_asoc_ok sans rien envoyer lorsque l'adresse supprimée est la dernière de l'association, et sctp_outq_flush_ctrl() laisse alors tous les chunks de contrôle non-ASCONF en file d'attente ; comme seul sctp_process_asconf_ack() efface ce drapeau, il persiste. Un processus non privilégié qui supprime une telle adresse puis demande un reset de flux provoque un panic du noyau via softirq. Une paire (peer) n'a ni besoin d'ASCONF ni d'aide locale : sctp_cmd_interpreter() déboucle la file de sortie uniquement lorsque tout le paquet a été traité, donc une réponse construite pendant l'analyse d'un chunk RECONF reste non transmise pour le reste de cette analyse, et un seul chunk RECONF contenant [Incoming SSN Reset Request, Outgoing SSN Reset Request,
Response] -- ou deux chunks RECONF dans un même paquet -- atteint la même déréférencement.

KASAN: null-ptr-deref in range [0x00000000000001e8-0x00000000000001ef]
RIP: 0010:timer_delete+0x67/0x110 Call Trace: <IRQ> sctp_process_strreset_addstrm_out (net/sctp/stream.c:832) sctp_sf_do_reconf (net/sctp/sm_statefuns.c:4212) sctp_do_sm (net/sctp/sm_sideeffect.c:1172) sctp_assoc_bh_rcv (net/sctp/associola.c:1044) sctp_rcv (net/sctp/input.c:243) ip_local_deliver (net/ipv4/ip_input.c:262) process_backlog (net/core/dev.c:6680) </IRQ>

Une réponse ne peut accuser réception que d'une demande qui a été effectivement envoyée, donc il ne faut pas faire correspondre asoc->strreset_chunk tant que chunk->transport est NULL. La protection de la recherche couvre les trois sites d'achèvement.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Réserver

11/09/2026

Divulgation

12/09/2026

Modérer

accepté

Entrée

VDB-402858

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!