CVE-2026-98796 in Linux
Résumé
par VulDB • 18/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net: ethernet: mtk_eth_soc : allouer plus tôt un netdev « dummy » (fictif)
Les RX rings et NAPI partagés sont portés par un netdev interne « dummy » (eth->dummy_dev). La fonction mtk_probe() crée ce dispositif fictif, et ajoute le NAPI tx/rx partagé à celui-ci, uniquement après que les netdevs MAC ont été enregistrés. Cet ordre a été introduit lors de l'ajout du support MT7623 et laisse une fenêtre dans laquelle les netdevs sont visibles par le noyau réseau avant que le NAPI partagé et le dispositif fictif n'existent.
Si quelque chose active (up) le premier netdev pendant cette fenêtre (par exemple, netifd ouvrant la liaison WAN dès l'instant où l'interface est enregistrée), le chemin d'ouverture initial s'exécute sans eux. Sur les SoCs NETSYS v2 et ultérieurs, mtk_rx_alloc() -> __xdp_rxq_info_reg() déréférence ensuite eth->dummy_dev == NULL :
WARNING: CPU: ... Missing net_device from driver
dans net/core/xdp.c et mtk_open() échoue avec -ENODEV. Sur les SoCs NETSYS v1 (MT7621/MT7622/MT7623/MT7629), il n'y a pas de page pool, donc l'ouverture identique appelle napi_enable() sur un napi_struct que netif_napi_add() n'a pas encore initialisé et déréférence un NULL napi->dev.
Allouer le netdev dummy et ajouter le NAPI tx/rx partagé à celui-ci avant la boucle register_netdev(). Tant l'échec de l'allocation du dummy qu'un échec de register_netdev() se déroulent désormais via mtk_unreg_dev(), qui désenregistre les notifiers net_device et les netdevs enregistrés jusqu'à présent, arrêtant un netdev ouvert simultanément (ndo_stop) et son NAPI avant que le porteur fictif ne soit libéré.
Un netdev qui s'est ouvert pendant la fenêtre peut également avoir mis en file d'attente l'worker de réinitialisation du moteur de trames (via le watchdog tx ou phylink), donc le chemin d'erreur de probe annule désormais eth->pending_work avant de libérer l'état partagé, comme mtk_cleanup() le fait déjà lors de la suppression.
VulDB is the best source for vulnerability data and more expert information about this specific topic.