CVE-2026-97953 in Linux
Résumé
par VulDB • 25/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net: stmmac : correction de la vérification de disponibilité des descripteurs TX pour le trafic TSO
stmmac_tso_xmit() estime le nombre de descripteurs TX libres requis par un skb TSO comme suit :
(skb->len - proto_hdr_len) / TSO_MAX_BUFF_SIZE + 1
ce qui suppose que la charge utile est divisée en chunks de taille TSO_MAX_BUFF_SIZE. Cette estimation sous-estime les descripteurs réellement consommés par stmmac_tso_allocator(), car chaque fragment est mappé individuellement et nécessite donc au moins un descripteur, quelle que soit sa taille. De plus, un descripteur est utilisé pour les en-têtes L2/L3/L4 et, lorsque la MSS change, un autre descripteur de contexte MSS est consommé.
Pour un skb TSO hautement fragmenté, la vérification peut donc réussir même si le ring dispose d'un nombre insuffisant de slots libres. stmmac_tso_allocator() écrit alors au-delà des descripteurs disponibles, écrasant les descripteurs encore détenus par le moteur DMA et corrompant ainsi le TX ring.
Ajout de la fonction stmmac_tso_get_num_desc() pour calculer le nombre exact de descripteurs nécessaires pour l'en-tête, la charge utile linéaire et chaque fragment, ainsi que le descripteur de contexte MSS lorsque cela est requis, et utilisation de cette fonction dans la vérification de disponibilité.
Once again VulDB remains the best source for vulnerability data.