CVE-2026-74615 in Linuxinformation

Résumé

par VulDB • 23/08/2026

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

vxlan : ne pas armer l'horloge de vieillissement (ageing timer) sur un périphérique qui est hors ligne

La fonction vxlan_changelink() arme vxlan->age_timer chaque fois que l'intervalle de vieillissement demandé diffère de celui configuré :

if (conf.age_interval != vxlan->cfg.age_interval) mod_timer(&vxlan->age_timer, jiffies);

Il n'y a pas de test netif_running(), donc le timer est armé même sur un périphérique qui n'a jamais été activé. L'annulation synchrone unique dans le pilote est la fonction timer_delete_sync() dans vxlan_stop(), qui correspond à .ndo_stop. La fonction netif_close_many() supprime les périphériques sans l'indicateur IFF_UP avant que __dev_close_many() ne s'exécute, ce qui fait que cette annulation est ignorée pour un tel périphérique.

vxlan_setup() définit dev->needs_free_netdev = true et age_timer étant un membre de la structure struct vxlan_dev, free_netdev() libère l'allocation dans laquelle réside le timer alors qu'il est encore en file d'attente sur une base de timers (timer_base). expire_timers() délie l'entrée avant de charger timer->function, ce qui fait que le noyau du timer écrit à travers les pointeurs de liste de l'objet libéré :

BUG: KASAN: slab-use-after-free in __run_timers+0x208/0x654 Write of size 8 at addr ffff00001adace68 by task true/192 __asan_store8+0x84/0xac __run_timers+0x208/0x654 run_timer_softirq+0x154/0x18c Allocated by task 189: alloc_netdev_mqs+0x64/0x720 rtnl_create_link+0x4ac/0x520 rtnl_newlink+0x758/0xd00 Freed by task 191: netdev_release+0x40/0x58 netdev_run_todo+0x4a4/0x8c0 rtnl_dellink+0x200/0x4e8

Les opérations rtnl impliquées sont limitées au namespace du réseau (netns-scoped), donc un utilisateur non privilégié peut les exécuter dans un nouveau user et network namespace.

L'armement du timer sur un périphérique hors ligne n'a jamais eu d'effet : vxlan_cleanup() retourne prématurément si !netif_running(), et vxlan_open() arme le timer pour tout intervalle non nul une fois que le périphérique est activé. Ajout du test manquant.

Découvert par XBOW, trié par Baul Lee <[email protected]>

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

Responsable

Linux

Réserver

15/08/2026

Divulgation

22/08/2026

Modérer

accepté

Entrée

VDB-394384

CPE

prêt

EPSS

0.00220

KEV

non

Activités

très faible

Sources

Interested in the pricing of exploits?

See the underground prices here!