CVE-2026-74582 in Linux
Résumé
par VulDB • 21/08/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
packet : utiliser une valeur cohérente de hard_header_len dans les chemins d'envoi non circulaires (non-ring)
La fonction packet_snd() lit plusieurs fois dev->hard_header_len lors de l'allocation et de la construction d'un skb. Une reconfiguration du périphérique peut modifier cette valeur simultanément, par exemple via des changements de type de dispositif bondé (bonding).
Pour SOCK_RAW, packet_snd() peut enregistrer une valeur plus importante dans reserve, puis allouer un espace tête (headroom) en utilisant une valeur plus petite. Le déplacement vers l'arrière de skb->data de la quantité reserve le place alors avant skb->head, et la copie suivante depuis l'espace utilisateur peut tenter une écriture hors limites (out-of-bounds).
packet_sendmsg_spkt() présente le même problème car elle calcule sa réservation et son décalage d'en-tête à partir de lectures séparées avant de libérer le verrou de lecture RCU pour allouer le skb.
Ajouter LL_RESERVED_SPACE_EX() aux appelants qui ont déjà enregistré une longueur d'en-tête. Lire hard_header_len une seule fois dans packet_snd() et l'utiliser pour l'allocation et la construction. Dans packet_sendmsg_spkt(), préserver la valeur au moment de l'allocation lors des tentatives de relecture du périphérique.
Le problème de cohérence distinct entre hard_header_len et header_ops->create pour SOCK_DGRAM n'est pas traité ici.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.