CVE-2026-72441 в Linux Kernel: утечка неинициализированной памяти в ieee802154

CVE: CVE-2026-72441
Продукт: Linux Kernel
Дата публикации: 15.08.2026
Критичность: не определена
CVSS: нет данных
EPSS: 0,23%; процентиль 13,65%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В подсистеме IEEE 802.15.4 ядра Linux обнаружена уязвимость kernel-infoleak (CVE-2026-72441). При обработке пакетов с режимом адреса IEEE802154_ADDR_NONE поле pan_id структуры ieee802154_addr оставалось неинициализированным. Это приводило к копированию остаточных данных стека ядра в пространство пользователя через dgram_recvmsg(). Уязвимость выявлена фаззером syzbot и инструментом KMSAN. Патч обнуляет структуру адреса перед возвратом.

Основные характеристики​


Тип: утечка информации из ядра (kernel-infoleak). Подсистема: net/ieee802154. Затронутые функции: ieee802154_hdr_get_addr(), dgram_recvmsg(), move_addr_to_user(). Причина: отсутствие инициализации поля pan_id при режиме IEEE802154_ADDR_NONE. Обнаружено: syzbot с использованием KMSAN. Исправление: добавление memset для обнуления структуры адреса.

Какие продукты и версии затронуты​


Ядро Linux, содержащее код подсистемы ieee802154 до применения патча. Уязвимость затрагивает системы, использующие стек протоколов IEEE 802.15.4. Патч был внесен в ветки stable ядра. Конкретные версии дистрибутивов в источниках не перечислены, однако исправление распространяется через стандартные каналы обновлений ядра.

Причина уязвимости​


Функция ieee802154_hdr_get_addr() при обработке адреса с режимом IEEE802154_ADDR_NONE устанавливала только поле mode. Поле pan_id структуры ieee802154_addr не обнулялось и содержало неинициализированные данные из стека. Позже эта структура копировалась в sockaddr_ieee802154 в функции dgram_recvmsg() и передавалась в пользовательское пространство через move_addr_to_user(), что приводило к утечке байтов ядра.

Как работает атака​


Атакующий создает сокет типа AF_IEEE802154 и инициирует прием пакета. Если входящий пакет имеет заголовок с режимом адреса IEEE802154_ADDR_NONE, функция ieee802154_hdr_get_addr() не обнуляет поле pan_id. При вызове recvmsg() ядро копирует структуру адреса, включая неинициализированное поле pan_id, в буфер пользователя. Это позволяет прочитать фрагменты памяти ядра, ранее использовавшейся в стеке.

Условия успешной эксплуатации​


Локальный доступ к системе с правами на создание сокетов AF_IEEE802154. Наличие активного сетевого интерфейса IEEE 802.15.4 или эмуляции такого интерфейса. Возможность генерации или перехвата пакетов с режимом адреса IEEE802154_ADDR_NONE. Доступ к пользовательскому пространству для чтения данных из сокета.

Возможный сценарий атаки​


  1. Атакующий открывает сокет AF_IEEE802154. 2. В сеть отправляется пакет IEEE 802.15.4 с заголовком, где режим адреса установлен в IEEE802154_ADDR_NONE. 3. Ядро обрабатывает пакет, вызывая ieee802154_hdr_get_addr(), которая не обнуляет поле pan_id. 4. Атакующий вызывает recvmsg() для чтения данных из сокета. 5. Ядро копирует структуру адреса, включая неинициализированное поле pan_id, в буфер пользователя. 6. Атакующий анализирует полученные данные, извлекая фрагменты памяти ядра.

Есть ли публичный эксплойт​


Публичный эксплойт не опубликован. Уязвимость была обнаружена и сообщена фаззером syzbot. Патч разработан и принят в ядро. Информация о практической эксплуатации в дикой природе отсутствует.

Признаки эксплуатации​


Специфичные индикаторы компрометации (IOC) для этой уязвимости не определены. Общие признаки могут включать необычную активность в журналах ядра, связанную с подсистемой ieee802154, или попытки чтения неинициализированной памяти, если включен KMSAN. В обычных системах утечка данных может быть незаметна без специального мониторинга.

Как обнаружить атаку​


Проверка версии ядра и наличия патча. Анализ журналов ядра на наличие сообщений KMSAN (если ядро собрано с поддержкой KMSAN). Мониторинг активности сокетов AF_IEEE802154. Использование инструментов статического анализа для проверки кода подсистемы ieee802154.

Как проверить свою версию​


Для проверки версии ядра используйте команды:

Bash:
uname -r
uname -a
cat /proc/version

Сравните полученную версию с версиями, содержащими патч. Патч был применен в ветках stable, поэтому рекомендуется обновить ядро до последней доступной версии для вашего дистрибутива.

Исправление​


Установите обновление ядра, содержащее патч для CVE-2026-72441. Патч добавляет вызов memset для обнуления структуры адреса в функции ieee802154_hdr_get_addr() при режиме IEEE802154_ADDR_NONE. Обновите систему через менеджер пакетов вашего дистрибутива.

Временные меры защиты​


Если обновление ядра невозможно, рассмотрите возможность отключения поддержки IEEE 802.15.4, если она не требуется. Это можно сделать путем отключения соответствующего модуля ядра или конфигурации. Также можно ограничить доступ к созданию сокетов AF_IEEE802154 через политики безопасности (например, SELinux или AppArmor).

Как проверить устранение уязвимости​


После обновления проверьте версию ядра с помощью uname -r. Убедитесь, что версия ядра соответствует или превышает версию, содержащую патч. Проверьте журналы ядра на отсутствие сообщений KMSAN, связанных с ieee802154. При необходимости, протестируйте обработку пакетов с режимом адреса IEEE802154_ADDR_NONE в контролируемой среде.

Вывод​


CVE-2026-72441 представляет собой уязвимость утечки данных в подсистеме IEEE 802.15.4 ядра Linux. Хотя риск практической эксплуатации оценивается как низкий, установка патча рекомендуется для всех систем, использующих эту подсистему. Обновление ядра устраняет проблему, обнуляя неинициализированные поля перед копированием в пользовательское пространство.

Официальные источники​


  1. NVD — CVE-2026-72441
  2. FIRST EPSS — CVE-2026-72441
  3. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree
  4. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree
  5. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree
  6. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree
  7. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree
  8. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree
  9. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree
  10. ieee802154: fix kernel-infoleak in dgram_recvmsg() - kernel/git/stable/linux.git - Linux kernel stable tree

История обновлений статьи​


  • 17.08.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ