CVE-2026-98809 in Linux信息

摘要

由 VulDB • 2026-10-18

在 Linux 内核中,已修复以下漏洞:

蓝牙: hci_sync: 注销时不清除 cmd_sync 积压队列

hci_unregister_dev() 会禁用 cmd_work 和 cmd_timer,然后调用 hci_cmd_sync_clear()。后者通过 cancel_work_sync() 等待 hci_cmd_sync_work() 返回。该工作项会从 cmd_sync_work_list 中出队并执行每一项。由于 cmd_work 已禁用,没有任何命令能到达控制器,因此每个排队的 HCI 命令都会等待完整的 HCI_CMD_TIMEOUT(2秒)。

积压队列没有上限。用户空间可以持续向不响应的控制器排队 MGMT 命令(例如针对未响应控制器的 MGMT_OP_GET_CLOCK_INFO)。关闭 /dev/vhci 会导致 vhci_release() 阻塞,阻塞时间为 backlog * 2s:

INFO: task syz-executor:5749 blocked for more than 143 seconds. cancel_work_sync hci_cmd_sync_clear hci_unregister_dev vhci_release

在本地复现中,积压队列包含超过 5000 个条目,导致挂起时间长达数小时。

一旦设置 HCI_UNREGISTER,就停止工作项接收新条目,并在取消工作之前唤醒任何仍在等待的请求并返回 -ENODEV。遗留的条目由 hci_cmd_sync_clear() 中的现有清理逻辑以 -ECANCELED 销毁。它们会保留在列表中直到工作停止,因此 hci_cmd_sync_dequeue() 及相关函数仍能看到它们。可能正在运行的回调可能会发出另一个命令,这会使注销过程最多延迟一个剩余命令对应的超时时间,而不是整个积压队列的时间。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

来源

Might our Artificial Intelligence support you?

Check our Alexa App!