
Технический бюллетень и оборонительный анализ CVE-2026-98432 — use-after-free в IPv4 TCP ядра Linux, с указанием затронутых версий, команд обнаружения и рекомендаций по патчам.
Уязвимость повреждения памяти в IPv4 TCP ядра Linux
Технический анализ • Исследование уязвимостей • Защитная безопасность
Обзор • Анализ • Затронутые версии • Обнаружение • Меры защиты
CVE-2026-98432 — критическая уязвимость использования памяти после освобождения (Use-After-Free, UAF), затрагивающая подсистему IPv4-сетевого взаимодействия ядра Linux.
Уязвимость возникает из-за некорректного управления временем жизни памяти при одновременной обработке запросов на установление TCP-соединения.
При определённых условиях память ядра, содержащая параметры IPv4-сокета, может быть освобождена, пока другой путь выполнения всё ещё обращается к ней.
Это создаёт потенциальную возможность повреждения памяти, которое может привести к:
| Свойство | Сведения |
|---|---|
| CVE ID | CVE-2026-98432 |
| Продукт | Ядро Linux |
| Компонент | IPv4-сетевое взаимодействие |
| Уязвимость | Использование памяти после освобождения |
| CWE | CWE-825 |
| CVSS v3.1 | 9.8 Критическая |
| Вектор атаки | Сеть |
| Сложность атаки | Низкая |
| Требуемые привилегии | Отсутствуют |
| Взаимодействие с пользователем | Отсутствует |
| Протокол | IPv4 / TCP |
| Появилась в | Ядро Linux 4.4 |
| Опубликована | 15 октября 2026 г. |
| Затронутые файлы | net/ipv4/af_inet.c, net/ipv4/tcp_ipv4.c |
Уязвимость связана с владением и освобождением структур параметров IPv4-сокета.
При установлении TCP-соединения функция:
tcp_v4_syn_recv_sock()
передаёт право собственности на:
ireq->ireq_opt
к дочернему сокету:
newinet->inet_opt
Передача происходит без копирования базовой структуры.
Другой CPU может одновременно обрабатывать повторно переданный SYN-запрос и обращаться к тем же опциям через защищённые RCU пути чтения.
Если связанная память освобождается с помощью обычного kfree(), пока читатели всё ещё обращаются к ней, может возникнуть состояние Use-After-Free.
| Функция | Назначение |
|---|---|
tcp_v4_syn_recv_sock() | Создаёт дочерние TCP-сокеты |
tcp_v4_send_synack() | Отправляет ответы TCP SYN-ACK |
inet_csk_route_req() | Обрабатывает маршрутизацию сокета запроса |
ip_options_build() | Строит опции IPv4 |
inet_sock_destruct() | Уничтожает интернет-сокеты |
tcp_v4_reqsk_destructor() | Уничтожает TCP-сокеты запросов |
Проблемное поведение при освобождении памяти:
kfree(opt);
Восходящее исправление использует RCU-осведомлённое освобождение:
kfree_rcu(opt, rcu);
Это задерживает освобождение памяти до истечения соответствующего льготного периода RCU, позволяя существующим читателям безопасно завершить работу.
Основная проблема безопасности — неправильный доступ к памяти внутри ядра.
Возможные последствия включают нестабильность системы, повреждение памяти и более серьёзную эксплуатацию в зависимости от среды выполнения.
Уязвимость была внесена в ядро Linux 4.4.
Следующие upstream-релизы содержат соответствующие исправления:
| Ветка ядра | Исправленная версия |
|---|---|
| 5.10 | 5.10.272 |
| 5.15 | 5.15.223 |
| 6.1 | 6.1.190 |
| 6.6 | 6.6.159 |
| 6.12 | 6.12.113 |
| 6.18 | 6.18.56 |
| 7.2 | 7.2.10 |
| 7.3 | 7.3 |
Важно: поставщики дистрибутивов могут переносить исправления безопасности в более старые версии. Более старая на вид версия ядра не означает автоматически, что установленный пакет уязвим.
Следующие команды предназначены для защитной проверки и не эксплуатируют уязвимость.
uname -r
cat /etc/os-release
uname -a
Debian / Ubuntu / Kali:
dpkg -l | grep linux-image
RHEL / Fedora:
rpm -qa | grep '^kernel'
sysctl net.ipv4.tcp_migrate_req
Эти проверки предоставляют информацию о системе, но не подтверждают статус уязвимости независимо. Сверьте установленный пакет с рекомендациями по безопасности вашего дистрибутива.
Debian / Ubuntu / Kali Linux:
sudo apt update
sudo apt full-upgrade
RHEL / Fedora:
sudo dnf update kernel
Перезагрузите систему после установки обновлённого ядра:
sudo reboot
Проверьте запущенную версию:
uname -r
Примечание: Сетевые ограничения — это меры глубокоэшелонированной защиты, а не замена применению патча ядра.
Ядро Linux устраняет эту проблему, используя освобождение памяти с учётом RCU в затронутых деструкторах.
| Ветка ядра | Коммит с исправлением |
|---|---|
| 5.10 | b3b027ef0cd322bfa839b9aaf5b27551eea54cf6 |
| 5.15 | 95a8c8fa9f27dce64c40c41c062de7728bf34ab5 |
| 6.1 | 89b5b1eb7d633c33832b7ff2c02e19a144705036 |
| 6.6 | 742f73df544e03744f2981c467d6542fe8172a2a |
| 6.12 | 11a03ce3c4a62d84c10ccdfe47f8075006498568 |
| 6.18 | a47406c769f72c070386985488f1c4d057df86b2 |
| 7.2 | 26d4c36d318cffbbd160884a0e4cec0da4da4936 |
| 7.3 | e3f33b0a1d89d738e2b913dab519226eaf76e15b |
Для производственных систем предпочитайте полные обновления ядра, поддерживаемые производителем, вместо ручного выборочного применения отдельных коммитов.
Официальные источники по безопасности: