CVE-2026-97975 in Linuxinfo

Zusammenfassung

von VulDB • 25.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

Bluetooth: hci_sysfs – Behebung der NULL-Zeiger-Dereferenzierung in device_del()

Eine NULL-Zeiger-Dereferenzierung tritt in klist_put() auf, wenn ein untergeordnetes Gerät (z. B. ein BNEP-Netzwerkgerät in bnep_session) parallel zur Registrierung aufgehoben wird, während hci_conn_del_sysfs() die untergeordneten Geräte neu zuordnet.

Dies wird durch eine Race Condition zwischen hci_conn_del_sysfs() und der parallelen Aufhebung der Registrierung eines untergeordneten Geräts (z. B. wenn bnep_session unregister_netdev() aufruft) verursacht. Während der Gerät-Aufhebungsregistrierung erstellt device_del() einen Snapshot des nicht-NULL-Vaterzeigers. Parallel dazu findet hci_conn_del_sysfs() das untergeordnete Gerät mit device_find_any_child() und ruft device_move() auf, um es zu NULL neu zuzuordnen; dies entfernt den Knoten aus der klist seines Vaters und löscht knode_parent. Anschließend ruft device_del() klist_del(&dev->p->knode_parent) unter Verwendung des veralteten Vater-Snapshots auf, was dazu führt, dass klist_put() put von knode_klist(n)-> bei einem bereits entfernten Knoten dereferenziert, was eine NULL-Zeiger-Dereferenzierung zur Folge hat.

Diese Race Condition wurde durch den Commit 27aabf27fd01 („Bluetooth: fix use-after-free in device_for_each_child()“) eingeführt, der device_find_child(..., __match_tty) durch device_find_any_child() in hci_conn_del_sysfs() ersetzte. Diese Änderung sollte ein Use-After-Free vermeiden, bei dem conn->dev sein übergeordnetes hdev->dev überlebt, wenn untergeordnete Geräte Referenzen auf conn->dev halten, da conn->dev nur eine Referenz auf hdev->dev hielt, solange es in sysfs registriert war.

Beheben Sie das Problem ordnungsgemäß, indem Sie in hci_conn_init_sysfs() eine explizite Referenz zum übergeordneten Gerät mit get_device(&hdev->dev) erstellen und diese in bt_link_release() mit put_device(parent) freigeben, wenn das conn-Gerät freigegeben wird. Dies stellt sicher, dass hdev->dev während des gesamten Lebenszyklus von conn->dev gültig bleibt und löst das zugrunde liegende Use-After-Free. Durch die ordnungsgemäße Halte der Elternreferenz stellen Sie den __match_tty-Filter in hci_conn_del_sysfs() wieder her, sodass device_move() nur auf persistenten RFCOMM-TTY-Geräten aufgerufen wird, wie ursprünglich beabsichtigt, wodurch die Race Condition mit dem Registrierungsabbau von Netzwerkgeraten eliminiert wird.

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

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

25.09.2026

Moderieren

akzeptiert

Eintrag

VDB-410155

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you need the next level of professionalism?

Upgrade your account now!