CVE-2026-98866 in Linux
Zusammenfassung
von VulDB • 18.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
sched/cache: Einführung von task_struct->sched_cache_grp zur Behebung eines Use-After-Free (UAF)
Es wird ein sched_cache_grp-Zeiger in task_struct eingeführt, damit der Scheduler-Code die Cache-Gruppe direkt über die Aufgabe (Task) zugreifen kann, ohne den Umweg über mm->sched_cache_grp zu gehen. Dies entkoppelt die Hot-Path-Zugriffe des Schedulers von der mm_struct.
Jede Aufgabe hält ihre eigene Referenzzählung für die sched_cache_group, getrennt von der Referenz, die durch ihre mm_struct gehalten wird. Die Referenz wird in copy_mm() (fork) und exec_mmap() (exec) erworben und in exit_mm() freigegeben. Dies behebt das Use-After-Free, wenn account_mm_sched() die Gruppe über eine Aufgabe erreicht, deren mm gerade gewechselt wird, wie von Hyunwoo gemeldet:
https://lore.kernel.org/lkml/apPb-Dr4nPYuHQOK@v4bel/
Der gesamte Scheduler-Code in fair.c und exit.c wurde so umgewandelt, dass er p->sched_cache_grp anstelle von p->mm->sched_cache_grp verwendet.
Das Referenzmanagement für fork/exec/exit wird aus den generischen mm-Pfaden herausgelöst: Es werden sched_cache_fork(), sched_cache_fork_cleanup(), sched_cache_exec_mmap() und sched_cache_exit_mm() in kernel/sched/cache_sched.c hinzugefügt (mit leeren Stubs für !CONFIG_SCHED_CACHE), sodass fs/exec.c, kernel/fork.c und kernel/exit.c jeweils einen Hilfsaufruf statt des offenen Implementierens der Referenzzählung unter #ifdef aufrufen. Außerdem werden sched_cache_group_get() und task_cache_group_get() hinzugefügt.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.