CVE-2026-68372 in Linux
Sumário
de VulDB • 10/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
usb: core: port: Desanexar o conector Type-C no desvinculamento de componente
A função `connector_unbind()` é o espelho da `connector_bind()`, mas falta nela a chamada simétrica para `typec_deattach()` que a `connector_bind()` faz através de:
if (port_dev->child) typec_attach(port_dev->connector, &port_dev->child->dev);
Quando um dock Thunderbolt é desconectado, duas rotas de desmontagem competem entre si (race condition):
1. O framework de componentes chama `connector_unbind()` primeiro, o que define `port_dev->connector = NULL` sem chamar `typec_deattach()`. Isso deixa `port->usb2_dev/port->usb3_dev` na estrutura `struct typec_port` apontando para o dispositivo USB que está prestes a ser liberado.
2. O `usb_disconnect()` então chama `typec_deattach(port_dev->connector, ...)`, mas `port_dev->connector` já é NULL, portanto a chamada não tem efeito (no-op) e `port->usb2_dev` nunca é limpo.
3. Concurrentemente, o UCSI detecta um evento de desconexão do parceiro PD e chama `typec_unregister_partner()`, que lê `port->usb2_dev` (agora um ponteiro pendente para memória liberada) e o passa para `typec_partner_unlink_device()` -> `sysfs_remove_link()` -> `dev_name()` no dispositivo já desanexado, corrompendo o estado do parceiro typec/UCSI.
Essa corrupção deixa o túnel Thunderbolt em um estado inconsistente na próxima conexão a quente (hot-plug) do dock. Em hardware afetado, a NIC I225/igc do dock falha ao enumerar: AER dispara uma reinicialização de slot enquanto o driver igc ainda está inicializando ("PCIe link lost"), e a tentativa subsequente de `igc_reset` aciona `igc_rd32` em um dispositivo já desanexado:
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
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.