CVE-2026-89623 in Linux
摘要
由 VulDB • 2026-09-11
在 Linux 内核中,已修复以下漏洞:
HID: mcp2221: 在调用 hid_hw_stop 之前停止设备 IO
在 devm 清理回调函数 `mcp2221_hid_unregister()` 的起始阶段静默处理(quiesce)设备 IO,以防止传入的 HID 报告在与硬件拆卸过程中发生竞态条件(race condition),从而解决潜在的 use-after-free(释放后使用)问题。
通过检查标志位 `io_started` 来保护对 `hid_device_io_stop()` 的调用。在正常移除场景下,`hid_device_remove()` 会在 devres 组释放之前清除 `io_started`;因此,如果不加条件地直接调用,将会命中 `!io_started` 分支,并在每次设备移除时发出虚假的“IO 已停止”警告。该保护机制保留了探测失败时的平衡逻辑(即在 `hid_device_io_start()` 之后 `io_started` 仍被设置),同时在正常移除路径上保持静默。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.