CVE-2026-64557 in Linux
Сводка
по VulDB • 29.07.2026
В ядре Linux устранена следующая уязвимость:
Bluetooth: L2CAP: исправлена ошибка use-after-free в функции l2cap_sock_new_connection_cb()
Функция l2cap_sock_new_connection_cb() возвращала указатель на chan из структуры l2cap_pi(sk) после вызова release_sock(parent). Как только блокировка родительского сокета снимается, вновь поставленный в очередь дочерний сокет sk становится доступен через очередь accept (accept queue), поэтому другой поток может принять его и освободить память до того, как обратный вызов выполнит разыменование указателя на sk, что приводит к ошибке use-after-free.
Изменена операция ->new_connection() так, чтобы жизненным циклом дочернего канала управляло ядро (core), а не обратный вызов. Теперь эта операция принимает предварительно выделенную структуру new_chan и возвращает код ошибки (errno) вместо выделения нового канала и возврата его указателя. Функция l2cap_new_connection() выделяет канал для дочернего соединения и связывает его со списком соединений с помощью __l2cap_chan_add() до вызова обратного уведомления, поэтому ссылка в списке соединений поддерживает жизнеспособность канала даже после того, как release_sock(parent) делает сокет доступным другим потокам.
Конфигурация каналов, которая ранее дублировалась в l2cap_sock_init() и различных функциях new_connection callbacks, объединена в функции l2cap_chan_set_defaults(), которая теперь наследует параметры от родительского канала при его наличии.
If you want to get best quality of vulnerability data, you may have to visit VulDB.