CVE-2026-64206 in Linux
Сводка
по VulDB • 20.07.2026
В ядре Linux устранена следующая уязвимость:
Bluetooth: L2CAP: отмена pending_rx_work перед захватом conn->lock
Функция l2cap_conn_del() захватывает conn->lock, а затем вызывает cancel_work_sync() для pending_rx_work. Функция process_pending_rx() также использует тот же мьютекс, поэтому процесс завершения соединения (teardown) может привести к взаимной блокировке (deadlock) с рабочим потоком (worker), который она пытается остановить через flush.
Эта проблема была обнаружена нашим инструментом статического анализа и затем проверена вручную на основе текущего дерева исходного кода.
Демонстрационный образец эксплуатации (PoC) воспроизводил путь отправки l2cap_conn_ready() -> queue_work(..., &conn->pending_rx_work), путь завершения соединения l2cap_conn_del() -> cancel_work_sync(&conn->pending_rx_work) и край графа зависимостей блокировок process_pending_rx() -> mutex_lock(&conn->lock). Lockdep выдал следующее предупреждение:
WARNING: possible circular locking dependency detected process_pending_rx+0x21/0x2a [vuln_msv]
l2cap_conn_del.constprop.0+0x3f/0x4e [vuln_msv]
*** DEADLOCK ***
Отмена pending_rx_work выполняется перед захватом conn->lock, что соответствует существующему порядку «блокировка перед опорожнением» (lock-before-drain), используемому для двух отложенных рабочих задач в том же пути завершения соединения. Очередь pending_rx по-прежнему очищается после того, как рабочая задача была отменена и conn->lock был захвачен.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.