CVE: CVE-2026-64557
Продукт: Linux Kernel
Дата публикации: 29.07.2026
Критичность: HIGH
CVSS: 8.8 (3.1)
EPSS: 0,24%; процентиль 15,05%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В подсистеме Bluetooth L2CAP ядра Linux устранена ошибка use-after-free, возникающая при обработке входящих соединений. Дефект связан с нарушением порядка управления блокировками и жизненным циклом объектов. Материал описывает механику гонки состояний, условия эксплуатации и методы проверки исправления.
Основные характеристики
Уязвимость представляет собой риск нарушения целостности памяти в ядре при работе с Bluetooth-соединениями. При успешной эксплуатации возможна потеря данных, отказ в обслуживании или повышение привилегий.
- Тип ошибки: Use-after-free — обращение к памяти после её освобождения.
- CVSS 3.1: 8.8 (HIGH). Вектор:
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
- Условия атаки: Вектор
AV:Aуказывает на необходимость нахождения в радиусе действия Bluetooth-сигнала.
- Эксплуатация: Публичные данные о массовой эксплуатации в каталоге CISA KEV отсутствуют.
- EPSS: 0,24% (процентиль 15,05%) — низкая вероятность эксплуатации в ближайшие 30 дней.
Какие продукты и версии затронуты
Уязвимость затрагивает подсистему Bluetooth в ядре Linux. Конкретные номера версий ядра, в которых присутствует ошибка, в предоставленных источниках не перечислены.
Исправление внесено в ветки stable ядра. Для определения актуального состояния системы необходимо сверить установленную версию ядра с официальными релизами, содержащими патч с идентификатором
6fef032af0092ed5ccb767239a9ac1bc38c08a40.Причина уязвимости
Причина ошибки кроется в нарушении порядка управления блокировками и жизненным циклом объектов в функции
l2cap_sock_new_connection_cb().В исходном коде функция возвращала указатель на канал
l2cap_pi(sk)->chan после вызова release_sock(parent). Освобождение блокировки родительского сокета делало дочерний сокет доступным для других задач через очередь accept. В результате другая задача могла принять соединение и освободить память сокета до того, как исходная функция завершала работу и обращалась к этому указателю.Это приводило к обращению к уже освобожденной памяти (use-after-free), что нарушает целостность данных в ядре.
Как работает атака
Атака эксплуатирует гонку состояний (race condition) при обработке входящего Bluetooth-соединения.
- Уязвимая функция
l2cap_sock_new_connection_cb()обрабатывает новое соединение.
- Функция вызывает
release_sock(parent), что освобождает блокировку родительского сокета.
- После освобождения блокировки дочерний сокет становится видимым для других задач через очередь accept.
- Конкурирующая задача может выполнить
accept()и освободить память сокета.
- Исходная функция продолжает выполнение и обращается к указателю
l2cap_pi(sk)->chan, который теперь указывает на освобожденную память.
Исправление переносит управление жизненным циклом канала на ядро подсистемы. Теперь канал выделяется и добавляется в список соединений до вызова обратного вызова, что гарантирует его живость даже после освобождения блокировки родительского сокета.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости атакующему необходимо:
- Находиться в радиусе действия Bluetooth-сигнала целевой системы.
- Иметь возможность инициировать входящее L2CAP-соединение с целевым устройством.
- Создать условия для гонки состояний, при которой другая задача освобождает сокет до завершения обработки в уязвимой функции.
Уязвимость не требует предварительной аутентикации или взаимодействия пользователя, но зависит от физической близости к устройству.
Возможный сценарий атаки
Атакующий находится в радиусе действия Bluetooth-сигнала целевого устройства. Он инициирует входящее L2CAP-соединение.
В ядре запускается обработка соединения в функции
l2cap_sock_new_connection_cb(). После освобождения блокировки родительского сокета атакующий (или конкурирующая задача) быстро вызывает accept(), что приводит к освобождению памяти сокета.Исходная функция продолжает выполнение и обращается к освобожденной памяти, вызывая сбой ядра или позволяя атакующему контролировать выполнение кода.
Есть ли публичный эксплойт
В предоставленных источниках отсутствуют сведения о публичных эксплойтах, PoC или подтвержденной эксплуатации в реальных атаках. Уязвимость внесена в каталог CVE со статусом "Received". Отсутствие данных об эксплуатации не означает, что эксплойт не существует, но подтвержденных фактов в официальных источниках нет.
Признаки эксплуатации
Специфичные индикаторы компрометации (IOC) для данной уязвимости в источниках не раскрыты. Общие неспецифичные признаки, которые могут указывать на атаки на Bluetooth-подсистему:
- Аномальные входящие Bluetooth-соединения в журналах ядра.
- Сбои или перезагрузки системы, связанные с обработкой Bluetooth-трафика.
- Записи в
dmesgилиjournalctlс ошибками, связанными с L2CAP или Bluetooth-сокетами.
Как обнаружить атаку
Для обнаружения потенциальной эксплуатации или сбоев, связанных с уязвимостью, рекомендуется:
- Мониторинг журналов ядра на наличие ошибок, связанных с Bluetooth L2CAP.
- Анализ логоов
dmesgиjournalctlна сообщения об освобождении памяти или сбоех в подсистеме Bluetooth.
- Проверка входящих Bluetooth-соединений на аномальную активность.
Специфичные сигнатуры для данной уязвимости в источниках не предоставлены.
Как проверить свою версию
Для проверки версии ядра и определения необходимости обновления используйте следующие команды:
Bash:
uname -r
uname -a
cat /proc/version
Сравните полученную версию с официальными релизами ядра, содержащими исправление. Патч идентифицируется коммитом
6fef032af0092ed5ccb767239a9ac1bc38c08a40 в репозитории Linux kernel.Исправление
Единственным подтвержденным методом устранения уязвимости является обновление ядра Linux до версии, содержащей исправление.
- Обновите ядро до последней доступной версии в вашем дистрибутиве.
- Убедитесь, что в ядре присутствует коммит
6fef032af0092ed5ccb767239a9ac1bc38c08a40.
- Перезагрузите систему после обновления ядра для применения изменений.
Исправление перерабатывает управление жизненным циклом каналов L2CAP, исключая возможность обращения к освобожденной памяти.
Временные меры защиты
Пока не установлено обновление ядра, можно снизить риск эксплуатации:
- Отключите Bluetooth-адаптер, если он не используется.
- Ограничьте доступ к Bluetooth-устройствам в радиусе действия.
- Используйте firewall для блокировки входящих Bluetooth-соединений, если это поддерживается вашей конфигурацией.
Эти меры не устраняют уязвимость, но снижают вероятность успешной атаки.
Как проверить устранение уязвимости
После обновления ядра проверьте, что исправление применено:
Bash:
uname -r
Убедитесь, что версия ядра соответствует последней стабильной версии вашего дистрибутива. Для подтверждения наличия конкретного коммита можно использовать:
Bash:
git log --oneline | grep 6fef032af0092ed5ccb767239a9ac1bc38c08a40
(если вы используете исходники ядра). В бинарных дистрибутивах сверкайте версию с официальными advisory-записями.
Вывод
CVE-2026-64557 представляет собой серьезную уязвимость в подсистеме Bluetooth Linux, способную привести к сбою ядра или повышению привилегий. Администраторам необходимо обновить ядро до версии, содержащей исправление, и при необходимости временно отключить Bluetooth для снижения риска. Мониторинг журналов системы поможет выявить аномальную активность, связанную с Bluetooth-соединениями.
Официальные источники
- NVD — CVE-2026-64557
- FIRST EPSS — CVE-2026-64557
- Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() - kernel/git/stable/linux.git - Linux kernel stable tree
- Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() - kernel/git/stable/linux.git - Linux kernel stable tree
- Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() - kernel/git/stable/linux.git - Linux kernel stable tree
- Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() - kernel/git/stable/linux.git - Linux kernel stable tree
- Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() - kernel/git/stable/linux.git - Linux kernel stable tree
- Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb() - kernel/git/stable/linux.git - Linux kernel stable tree
- CVEs — The Linux Kernel documentation
История обновлений статьи
- 07.08.2026 — Опубликована первая версия материала.
- 31.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
