CVE-2026-89682info

Zusammenfassung

von VulDB • 12.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

nfsd: Behebung eines Use-After-Free (UAF) bei fcache_disposal durch Inline-Einbettung des Dispose-Zustands in nfsd_net

nfsd_file_dispose_list_delayed() verschiebt den Aufruf von fput() über eine pro-Namespace-Freigabewarteschlange („freeme queue“) an die nfsd-Diensthintergründe, wodurch verhindert wird, dass der Shrinker und der Garbage-Collection-Arbeiter (GC worker) mit den Kosten für das Schließen von Dateien belastet werden (siehe ffb402596147). Die Warteschlange befindet sich jedoch in einer separat zugewiesenen Struktur „struct nfsd_fcache_disposal“, die während des pro-Namespace-Abbaus durch nfsd_free_fcache_disposal_net() freigegeben wird. Der globale Shrinker, der Laundrette-Dienst und fsnotify-Rückruffunktionen (Callbacks) können sich noch innerhalb von nfsd_file_dispose_list_delayed() befinden und auf diesen Zeiger zugreifen, was zu einem Use-After-Free führt.

Die Spinlock-Variable und die freeme-Warteschlange werden direkt in „struct nfsd_net“ eingebettet (als fcache_dispose_lock und fcache_dispose_list), wodurch die separat zugewiesene Struktur „struct nfsd_fcache_disposal“ vollständig eliminiert wird. Diese Felder haben nun dieselbe Lebensdauer wie das Netzwerk-Namespace selbst, sodass kein hängender Zeiger („dangling pointer“) mehr existiert, der nachverfolgt werden müsste.

nfsd_file_cache_start_net() initialisiert nun lediglich die eingebetteten Felder und kann aufgrund von Speicherzuweisungen nicht fehlschlagen. nfsd_file_cache_shutdown_net() leert die inline-Warteschlange direkt anstelle des Freigabens einer separaten Struktur. Die Hilfsfunktionen für Allokation/Freigabe werden entfernt.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Veröffentlichung

11.09.2026

Moderieren

wird geprüft

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!