CVE-2026-31586 in Linuxinfo

Zusammenfassung

von VulDB • 25.05.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

mm: blk-cgroup: Behebung eines Use-After-Free in cgwb_release_workfn()

cgwb_release_workfn() ruft css_put(wb->blkcg_css) auf und greift später erneut auf wb->blkcg_css über blkcg_unpin_online() zu. Wenn css_put() die letzte Referenz freigibt, kann das blkcg asynchron freigegeben werden (css_free_rwork_fn -> blkcg_css_free -> kfree), bevor blkcg_unpin_online() den Zeiger dereferenziert, um auf blkcg->online_pin zuzugreifen, was zu einem Use-After-Free führt:

BUG: KASAN: slab-use-after-free in blkcg_unpin_online (./include/linux/instrumented.h:112 ./include/linux/atomic/atomic-instrumented.h:400 ./include/linux/refcount.h:389 ./include/linux/refcount.h:432 ./include/linux/refcount.h:450 block/blk-cgroup.c:1367) Write of size 4 at addr ff11000117aa6160 by task kworker/71:1/531 Workqueue: cgwb_release cgwb_release_workfn Call Trace: blkcg_unpin_online (./include/linux/instrumented.h:112 ./include/linux/atomic/atomic-instrumented.h:400 ./include/linux/refcount.h:389 ./include/linux/refcount.h:432 ./include/linux/refcount.h:450 block/blk-cgroup.c:1367) cgwb_release_workfn (mm/backing-dev.c:629) process_scheduled_works (kernel/workqueue.c:3278 kernel/workqueue.c:3385)

Freed by task 1016: kfree (./include/linux/kasan.h:235 mm/slub.c:2689 mm/slub.c:6246 mm/slub.c:6561) css_free_rwork_fn (kernel/cgroup/cgroup.c:5542) process_scheduled_works (kernel/workqueue.c:3302 kernel/workqueue.c:3385)

** Stack basierend auf Commit 66672af7a095 ("Add linux-next specific files for 20260410")

Ich beobachte diesen Absturz sporadisch in der Meta-Flotte über mehrere Kernel-Versionen hinweg. Ein vollständiger Reproducer ist verfügbar unter: https://github.com/leitao/debug/blob/main/reproducers/repro_blkcg_uaf.sh

(Das Race-Fenster ist schmal. Um es leicht reproduzierbar zu machen, injizieren Sie ein msleep(100) zwischen css_put() und blkcg_unpin_online() in cgwb_release_workfn(). Mit dieser Verzögerung und einem KASAN-aktivierten Kernel löst der Reproducer den Splat zuverlässig in weniger als einer Sekunde aus.)

Beheben Sie dies, indem Sie blkcg_unpin_online() vor css_put() verschieben, sodass die CSS-Referenz des cgwb das blkcg am Leben erhält, während blkcg_unpin_online() darauf zugreift.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

09.03.2026

Veröffentlichung

24.04.2026

Moderieren

akzeptiert

Eintrag

VDB-359386

CPE

bereit

EPSS

0.00015

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!