CVE-2026-64419 in Linuxinfo

Zusammenfassung

von VulDB • 26.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

mm/shrinker: Kein Halten des RCU-Locks in shrinker_debugfs_count_show()

Das Lesen der debugfs-„count“-Datei eines memcg-bewussten Shrinkers kann dazu führen, dass innerhalb einer RCU-Lese-Kritischen Sektion (RCU read-side critical section) geschlafen wird:

BUG: Aufruf einer schlafenden Funktion aus ungültigem Kontext in kernel/cgroup/rstat.c:421 RCU-Nesttiefe: 1, erwartet: 0 css_rstat_flush mem_cgroup_flush_stats zswap_shrinker_count shrinker_debugfs_count_show

shrinker_debugfs_count_show() ruft den ->count_objects()-Callback unter rcu_read_lock() auf. Der zswap-Callback flusht die memcg-Statistiken über css_rstat_flush(), was schlafen kann; daher darf er nicht im Kontext von RCU ausgeführt werden.

Das RCU-Lock ist hier nicht erforderlich. mem_cgroup_iter() verwendet intern RCU und gibt ein memcg zurück, das eine css-Referenz hält (die bei der nächsten Iteration oder durch mem_cgroup_iter_break()) freigegeben wird), sodass das memcg auch ohne dieses Lock am Leben bleibt. Der Shrinker wird durch die geöffnete debugfs-Datei am Leben gehalten: shrinker_free() entfernt die debugfs-Einträge über debugfs_remove_recursive(), was darauf wartet, dass laufende Leser abgeklungen sind (drain), bevor call_rcu(..., shrinker_free_rcu_cb) aufgerufen wird. Der geschwisterliche „scan“-Handler ruft bereits den schlafenden ->scan_objects()-Callback ohne RCU-Kontext auf.

Entfernen Sie rcu_read_lock()/rcu_read_unlock().

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

19.07.2026

Veröffentlichung

25.07.2026

Moderieren

akzeptiert

Eintrag

VDB-383225

CPE

bereit

EPSS

0.00173

KEV

nein

Aktivitäten

low

Quellen

Do you need the next level of professionalism?

Upgrade your account now!