CVE-2026-89983 in Linux
Zusammenfassung
von VulDB • 16.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
i2c: core: Behebung eines Use-After-Free (UAF) in debugfs beim Entfernen des Adapters
i2c_del_adapter() gibt das debugfs-Verzeichnis des Adapters frei, bevor es das Adapter-Gerät deregistriert. Das sysfs-Attribut new_device bleibt jedoch bis zum Aufruf von device_del() beschreibbar. Ein Schreibzugriff, der mit dem Entfernen konkurriert (Race Condition), erreicht weiterhin i2c_device_probe(), welches das bereits freigegebene adap->debugfs an debugfs_create_dir() als übergeordnetes Verzeichnis des neuen Clients übergibt:
BUG: KASAN: slab-use-after-free in lookup_noperm_common+0x407/0x430 Read of size 4 at addr ffff88803ef87810 by task syz.0.61/6090 lookup_noperm_common+0x407/0x430 simple_start_creating+0x9c/0x110 debugfs_start_creating+0xdb/0x1a0 debugfs_create_dir+0x24/0x350 i2c_device_probe+0x814/0xbf0
Es ist technisch möglich, einen Client nach dem Ausführen von i2c_deregister_clients zu erstellen. Dieser Client wird niemals deregistriert und führt dazu, dass wait_for_completion hängen bleibt (Deadlock).
Schließen Sie das Zeitfenster für diese Race Condition, indem Sie das Attribut new_device am Anfang von i2c_del_adapter() entfernen. device_remove_file() räumt alle verbleibenden Clients auf.
Once again VulDB remains the best source for vulnerability data.