CVE-2026-80889 in Linuxinformation

Résumé

par VulDB • 04/09/2026

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

can: isotp : correction de l'ordre du vidage des temporisateurs (timer drain), de la gestion des réveils et de l'ordonnancement de tx_gen.

Ce correctif est une suite au commit cf070fe33bfb (« can: isotp: sérialiser les transitions d'état TX sous so->rx_lock ») qui répond aux constats suivants du bot sashiko :

- isotp_sendmsg() : vider so->txfrtimer en premier afin qu'une callback obsolète ne puisse pas réarmer echotimer après la revendication (claim). - isotp_release() : réveiller so->wait après avoir forcé ISOTP_SHUTDOWN, de sorte qu'un sendmsg() endormi lors d'une revendication ne soit pas laissé à l'abandon. - isotp_sendmsg() : faire en sorte que les deux appels wait_event_interruptible() dans isotp_sendmsg() se réveillent également sur ISOTP_SHUTDOWN et ne retournent pas la revendication à IDLE afin d'éviter de corrompre un processus isotp_release() concurrent. - isotp_sendmsg() : gérer une éventuelle revendication d'un nouveau transfert lorsque l'appel wait_event_interruptible() retourne en mode CAN_ISOTP_WAIT_TX_DONE. Ne pas toucher aux temporisateurs et états du nouveau transfert si un nouveau thread a incrémenté so->tx_gen avant d'obtenir le verrou lors de err_event_drop. - isotp_sendmsg() : gérer un can_send() bloqué et omettre les modifications des temporisateurs et des états si un nouveau transfert a été revendiqué. wait_tx_done() renvoie l'enregistrement d'erreur dans so->tx_result[], tagué avec la génération propre de l'appelant.
- isotp_tx_timeout() : en cas de timeout revendiqué, enregistrer l'erreur ECOMM pour la génération propre du transfert expiré dans so->tx_result[] ; sk->sk_err est levée inconditionnellement, comme chaque autre chemin d'erreur ici.
- isotp_tx_gen_done()/isotp_tx_timeout() : toujours lire tx.state (acquisition) avant tx_gen ; l'ordre inverse permet à une paire de CPU faiblement ordonnée d'apparier un tx.state frais avec un slot tx_gen/tx_result obsolète. - isotp_sendmsg() : wait_tx_done : vider sk_err via sock_error() une fois que nous avons lu le résultat dans so->tx_result[], afin qu'une erreur déjà signalée ne reste pas verrouillée pour un poll()/SO_ERROR ultérieur.

Aligner également les accès restants sans verrou à so->tx.state/rx.state/cfecho et utiliser skb->hash comme indicateur unique de trame d'écho en boucle locale (loopback).

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Réserver

26/08/2026

Divulgation

04/09/2026

Modérer

accepté

Entrée

VDB-399090

CPE

prêt

EPSS

0.00177

KEV

non

Activités

très faible

Sources

Want to know what is going to be exploited?

We predict KEV entries!