CVE-2026-43018CVE-2026-43018 是 Linux 内核蓝牙协议栈中存在的一个高危安全漏洞。问题出在 `hci_le_remote_conn_param_req_evt` 事件处理函数中,由于未对 `hdev` 锁进行充分的保护,导致 `hci_conn` 连接对象的查找与访问操作存在竞态条件。攻击者可利用此条件触发释放后重用(UAF)漏洞,导致内核内存损坏。该漏洞无需用户交互且无需认证即可在邻接网络范围内被利用,严重威胁系统的机密性、完整性和可用性。建议管理员及时更新系统内核版本以修复此缺陷。
该漏洞的根本原因在于 Linux 内核蓝牙主机控制器接口(HCI)事件处理逻辑中的并发控制缺失。具体来说,在 `hci_le_remote_conn_param_req_evt` 函数中,代码通过 `hci_conn_hash_lookup_ba` 查找连接对象后,未在全程持有 `hdev` 锁的情况下访问该对象的字段。在多线程环境下,另一个线程可能同时执行导致该连接对象被释放的操作。如果在访问期间对象被释放,就会发生 Use-After-Free。攻击者可以通过发送特制的蓝牙数据包来触发这种竞态条件。由于蓝牙协议栈运行在内核空间,UAF 漏洞通常允许攻击者读写任意内核内存,进而绕过安全机制,提升权限或导致内核崩溃。修复方案是将 `hci_dev_lock` 的加锁范围扩大,覆盖整个连接对象的使用生命周期,确保原子性操作。