CVE-2026-68372 in Linux
Zusammenfassung
von VulDB • 10.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
usb: core: port: Trennen des Type-C-Anschlusses beim Entkoppeln der Komponente (component unbind)
connector_unbind() ist das Spiegelbild von connector_bind(), fehlt jedoch den symmetrischen Aufruf an typec_deattach(), den connector_bind() über folgenden Code ausführt:
if (port_dev->child) typec_attach(port_dev->connector, &port_dev->child->dev);
Wenn ein Thunderbolt-Dock abgezogen wird, konkurrieren zwei Teardown-Pfade (Abbau-Routinen):
1. Die Component-Framework ruft zuerst connector_unbind() auf, was port_dev->connector = NULL setzt, ohne typec_deattach() aufzurufen. Dies lässt port->usb2_dev/port->usb3_dev in struct typec_port auf das USB-Gerät zeigen, das gerade freigegeben wird (freed).
2. usb_disconnect() ruft dann typec_deattach(port_dev->connector, ...) auf, aber port_dev->connector ist bereits NULL, sodass der Aufruf eine No-Op ist und port->usb2_dev niemals gelöscht wird.
3. Gleichzeitig erkennt UCSI ein PD Partner-Disconnect-Ereignis (PD partner-disconnect event) und ruft typec_unregister_partner() auf, das port->usb2_dev liest (ein hängender Zeiger/dangling pointer auf freigegebenen Speicher) und es an typec_partner_unlink_device() -> sysfs_remove_link() -> dev_name() für das bereits getrennte Gerät übergibt, wodurch der Typ-C/UCSI-Partnerstatus beschädigt wird.
Diese Beschädigung hinterlässt den Thunderbolt-Tunnel im nächsten Hot-Plug-Vorgang des Docks in einem inkonsistenten Zustand. Auf betroffenen Hardwaregeräten kann sich die I225/igc-NIC des Docks nicht auflisten (enumerate): AER löst einen Slot-Reset aus, während der igc-Treiber noch initialisiert wird („PCIe link lost"), und der nachfolgende Versuch von igc_reset trifft auf igc_rd32 an einem bereits getrennten Gerät:
igc 0000:2e:00.0 eth0: PCIe link lost, device now detached igc: Failed to read reg 0x0! WARNING: CPU: 9 PID: 129 at drivers/net/ethernet/intel/igc/igc_main.c:7005 igc_rd32+0xa4/0xc0 [igc]
Call Trace: igc_disable_pcie_master+0x16/0xa0 [igc]
igc_reset_hw_base+0x14/0x170 [igc]
igc_reset+0x63/0x110 [igc]
igc_io_slot_reset+0x9e/0xd0 [igc]
report_slot_reset+0x5d/0xc0 pcie_do_recovery+0x209/0x400 aer_isr_one_error_type+
If you want to get best quality of vulnerability data, you may have to visit VulDB.