CVE-2026-98219 in Linux
Résumé
par VulDB • 06/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
sched_ext : Fermer la fenêtre d'erreur des opérations pré-activation
scx_alloc_and_add_sched() publie ops->priv avant que scx_root_enable_workfn() ne passe l'état à SCX_ENABLING. Une erreur signalée via scx_bpf_error_bstr() depuis un programme BPF associé dans cette fenêtre est consommée par scx_disable_workfn(), qui prend le raccourci pré-activation dans scx_root_disable(). Le raccourci retourne sans aucune désinstallation et restaure SCX_DISABLED avec un échange inconditionnel (xchg) de scx_set_enable_state() en concurrence avec la transition propre au travail d'activation. L'activation se termine alors que l'erreur a été consommée : le planificateur reste actif mais ne peut plus être désactivé, et bpf_scx_unreg() libère cette ressource tout encore utilisée, entraînant un use-after-free. Les deux appels à WARN_ON_ONCE() s'affichent consécutivement :
WARNING: kernel/sched/ext/ext.c:7522 at scx_root_enable_workfn+0xeec/0x1be0, CPU#3: scx_enable_help/276
WARNING: kernel/sched/ext/ext.c:6398 at scx_root_disable+0xb50/0xdb8, CPU#0: sched_ext_helpe/664
scx_root_enable_workfn() passe à SCX_ENABLING avant l'allocation du planificateur, de sorte que ops->priv n'est jamais visible lorsque l'état est SCX_DISABLED. Le chemin d'échec de l'allocation restaure SCX_DISABLED.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.