CVE-2026-64401 in Linuxinfo

Zusammenfassung

von VulDB • 27.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

smb: client: SWN-tcon aus aktiven Registrierungen auflösen

cifs_swn_notify() sucht eine Zeugenregistrierung (witness registration) anhand der ID unterhalb von cifs_swnreg_idr_mutex, gibt das Mutex frei und verwendet anschließend den zwischengespeicherten tcon-Zeiger dieser Registrierung. Dieser Zeiger ist keine Referenz mit garantierter Lebensdauer und stellt auch keinen stabilen Repräsentanten dar, sobald cifs_get_swn_reg() mehrere tcons für denselben Netzwerk-/Freigabennamen eine einzige Registrierungs-ID teilen lässt.

Ein zweiter Mount derselben Freigabe kann den cifs_swn_reg nach dem Abmelden (Unregister) und der Freigabe des ersten tcon am Leben erhalten. Die Registrierung zeigt dann weiterhin auf den freigegebenen ersten tcon, sodass das Sichern von tc_lock oder das Inkrementieren von tc_count über swnreg->tcon nur einen Use-After-Free-Fehler früher auslöst. Das Sichern von tc_lock bei gleichzeitig gehaltener cifs_swnreg_idr_mutex verstößt zudem gegen die dokumentierte CIFS-Sperrreihenfolge (lock order).

Dies wird behoben, indem die Registrierung ausschließlich die stabile Zeugenidentität speichert: ID, Netzwerkname, Freigabename und Benachrichtigungsflags. Wenn eine Benachrichtigung eingeht, wird diese Identität unterhalb von cifs_swnreg_idr_mutex kopiert, das Mutex freigegeben und anschließend ein aktueller (live) witness-tcon ermittelt und gesichert, der aktuell mit dem Netzwerk-/Freigabepaar übereinstimmt, wobei die normale Sperrreihenfolge cifs_tcp_ses_lock -> tc_lock eingehalten wird. Der Benachrichtigungspfad verwendet diesen gesicherten tcon direkt und gibt die Referenz nach Abschluss wieder frei.

Registrierungs- und Abmeldemeldungen verwenden nun den vom Aufrufer übergebenen aktiven tcon anstelle eines in der Registrierung zwischengespeicherten tcons. Das Senden des finalen Unregisters wird in cifs_swn_unregister() zusammengefasst, während die Registrierung noch durch cifs_swnreg_idr_mutex geschützt ist. Dadurch wird das vorherige Fenster für find/drop/reacquire (Suchen/Freigeben/Wiedererlangen) eines rohen Zeigers entfernt. Der Release-Pfad entfernt lediglich den idr-Eintrag und gibt die stabilen Identitätsstrings frei.

Dies bewahrt das beabsichtigte Verhalten einer Registrierung pro vielen tcons: Eine Registrierungs-ID repräsentiert ein Netzwerk-/Freigabepaar, und die Bearbeitung von Benachrichtigungen erfolgt an einem zum Zeitpunkt der Verwendung ausgewählten aktiven Repräsentanten. Zudem wird die CLIENT_MOVE-Reihenfolge für den repräsentativen tcon beibehalten, da das Unregister mit alter IP gesendet wird, bevor cifs_swn_register() das Register mit neuer IP sendet.

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-383212

CPE

bereit

EPSS

0.00126

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!