CVE-2026-99175 in Linux
Zusammenfassung
von VulDB • 28.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
fsnotify: Verhinderung von Markierungs-Additionen während des Connector-Tear-downs (Abbaus)
`fsnotify_destroy_marks()` hält eine Referenz auf die aktuelle Markierung, während es `conn->lock` freigibt, um die Markierung zu zerstören. Dies stabilisiert den Forward-Walk-Cursor, verhindert jedoch nicht das Einfügen einer neuen Markierung davor. Ein Beispiel ist ein inotify-Watch, der nach IN_IGNORED erneut hinzugefügt wird und vor der alten, abgekoppelten Markierung für dieselbe Gruppe sortiert wird. Der Walk kann die Ersetzung verpassen und dann den gesamten Connector vom Objekt trennen (detachen).
Die Ersatz-Markierung befindet sich weiterhin in der `marks_list` der Gruppe sowie im Watch-IDR von inotify. Das Gruppen-Mutex schützt das Objekt des Connectors nicht mehr vor dem Verschwinden. Ein unprivilegierter Lesezugriff auf fdinfo, der mit dem finalen Detach konkurriert (Race Condition), kann daher `igrab(NULL)` aufrufen:
BUG: KASAN: null-ptr-deref in igrab+0x24/0x100 Write of size 4 at addr 0000000000000148 Call Trace: igrab+0x24/0x100 inotify_show_fdinfo+0x1dc/0x5e0 seq_show+0x397/0x690
Es wird ein DESTROYING-Flag unter `conn->lock` gesetzt, bevor der Walk beginnt, und neue Markierungen für diesen Connector werden mit -ENOENT abgelehnt. Die vorhandenen Fehlerpfade beim Hinzufügen von Markierungen heben den temporären Gruppenlisten-Eintrag sowie die Watch-Allokation des Backends auf. Es wird nicht gewartet, bis der Abbau abgeschlossen ist, während das Gruppen-Mutex gehalten wird, welches vom Zerstörer benötigt wird. Sobald der alte Connector abgekoppelt wurde, kann eine Addition einen frischen Connector wie zuvor installieren.
Dies schließt die Einfüge-Race Condition (Insertion Race) für alle Objekttypen, die den gemeinsamen Connector-Teardown verwenden, ohne die Regeln zur Markierungsreferenz oder SRCU-Lebensdauer zu ändern.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.