
В регулярном дайджесте уязвимостей — шесть инцидентов. Главная тема выпуска — ядро Linux: за две недели в нём обнаружено уже четыре уязвимости повышения привилегий, две из которых разбираем здесь. Также в выпуске — масштабная атака червя mini-shai-hulud на экосистему TanStack и критические RCE в почтовом сервере Exim. Дополнительно разберём баг в nginx, существовавший 18 лет, шесть уязвимостей в dnsmasq и проблему в процессорах AMD Zen 2
Кстати, заметили, что уязвимостей в последнее время стало заметно больше? Это не случайность: ИБ-компании всё активнее используют ИИ для аудита кода и находят баги быстрее, чем раньше. В индустрии уже появился термин для этого явления — «вулнапокалипсис».
Червь mini-shai-hulud: масштабная атака на TanStack
В результате атаки на цепочку поставок TanStack злоумышленники опубликовали в NPM 84 вредоносные версии, затронувшие 42 пакета. Среди них есть крайне популярные — с более чем 12 млн загрузок в неделю.
Атакующие скомпрометировали процесс формирования релизов через GitHub Actions и внедрили червя mini-shai-hulud, который самостоятельно распространялся, заражая пакеты в экосистеме. Червь похищал токены и ключи доступа к облачным сервисам, CI/CD-системам и SSH.
Подробный разбор атаки и инструкция по проверке своих систем — в нашем материале на Хабре.
Уязвимости в ядре Linux: Fragnesia и ssh-keysign-pwn
За две недели в ядре Linux обнаружено уже четыре уязвимости повышения привилегий. О двух из них — Copy Fail (CVE-2026-31431) и Dirty Frag (CVE-2026-43284, CVE-2026-43500) — мы писали ранее. Ниже разберём ещё две новые.
Fragnesia (CVE-2026-46300): ещё один root-эксплоит через страничный кэш
CVE-2026-46300 с кодовым именем Fragnesia — третий баг типа «повышение привилегий через страничный кэш» после Copy Fail и Dirty Frag. Доступен рабочий эксплоит.
Уязвимость находится в подсистеме xfrm в реализации ESP-in-TCP, которая применяется для туннелирования трафика IPsec поверх TCP. Ради оптимизации операции с AES-GCM выполнялись напрямую над данными в страничном кэше. Из-за логической ошибки возникали условия, позволяющие перезаписать 1 байт в страничном кэше по выбранному смещению. Повторяя операцию, можно байт за байтом изменить содержимое любого файла, который система успела прочитать.
Механизм эксплуатации тот же, что у Copy Fail: атакующий модифицирует кэш suid-файла — например, /usr/bin/su — и подменяет первые 192 байта кодом для запуска shell. При следующем вызове утилиты в память загружается не оригинальный файл с диска, а подменённая копия из кэша.
Уязвимость появилась неожиданным образом: патч для Dirty Frag случайно активировал новый баг в ядрах, выпущенных после 5 мая. Позже разработчики подготовили новый патч.
Для эксплуатации необходимо разрешение на создание пользовательских пространств имён (user namespace). В большинстве дистрибутивов это контролируется через sysctl kernel.unprivileged_userns_clone — если значение равно 0, уязвимость недоступна непривилегированным пользователям. В Ubuntu операция по умолчанию запрещена через AppArmor.
Обновления ядра пока не опубликованы. В качестве временной меры можно заблокировать загрузку модулей esp4 и esp6:
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 2>/dev/null; true"Статус исправлений можно отслеживать на страницах безопасности дистрибутивов Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.
ssh-keysign-pwn: уязвимость ядра, открывающая доступ к root-файлам
В ядре Linux выявлена ещё одна уязвимость — пока без CVE-идентификатора. Она позволяет локальному непривилегированному пользователю читать файлы, доступные только root: закрытые SSH host-ключи (/etc/ssh/ssh_host_*_key) и хэши паролей из /etc/shadow.
Проблема вызвана состоянием гонки в функции __ptrace_may_access(): во время завершения процесса ядро вызывает exit_mm() раньше, чем закрывает файлы через exit_files(). В этот короткий промежуток системный вызов pidfd_getfd может получить доступ к файловому дескриптору чужого процесса — даже если права на файл этого не допускают. Эксплоит строится вокруг suid-программ, открывающих чувствительные файлы с правами root, а затем сбрасывающих привилегии: например, ssh-keysign или chage.
Уязвимость не даёт root напрямую, но утечка /etc/shadow открывает путь к офлайн-подбору паролей, а утечка SSH host-ключей — к атакам на доверенные SSH-сценарии.
Патч принят в основную ветку Linux, обновлённые пакеты для дистрибутивов появятся по мере выхода. В качестве временной меры: выставить sysctl kernel.yama.ptrace_scope=3. После установки патча на серверах, где мог быть локальный доступ злоумышленника, рекомендуется сменить SSH host-ключи и проверить учётные записи.
Шесть уязвимостей в dnsmasq: от удалённого выполнения кода до отравления DNS-кэша
В пакете dnsmasq — широко используемом кэширующем DNS-резолвере и DHCP-сервере — выявлено шесть уязвимостей. Наиболее опасная позволяет выполнить код с правами root через локальную сеть. Проблемы устранены в версии dnsmasq 2.92rel2.
Среди шести уязвимостей две наиболее опасные:
- CVE-2026-4892 (критическая) — переполнение буфера в реализации DHCPv6. Атакующий в локальной сети может выполнить код с правами root через специально сформированный пакет DHCPv6.
- CVE-2026-2291 — переполнение буфера в функции
extract_name(). Позволяет подставить фиктивные записи в DNS-кэш и перенаправить домен на произвольный IP-адрес.
Остальные четыре уязвимости (CVE-2026-4893, CVE-2026-4891, CVE-2026-4890, CVE-2026-5172) приводят к утечкам данных из памяти процесса, отказу в обслуживании или аварийному завершению при обработке специально сформированных DNS-пакетов.
Кого затронуло
dnsmasq используется чаще, чем кажется: он встроен в платформу Android, специализированные дистрибутивы OpenWrt и DD-WRT, прошивки беспроводных маршрутизаторов многих производителей. В обычных дистрибутивах Linux dnsmasq может быть активирован при использовании libvirt или NetworkManager — даже если вы его явно не устанавливали.
Как защититься
Обновиться до версии dnsmasq 2.92rel2. Статус исправлений в дистрибутивах: Debian, Ubuntu, SUSE, RHEL, Gentoo, Arch, Fedora, OpenWRT, FreeBSD.
Критическая RCE в почтовом сервере Exim
В почтовом сервере Exim выявлена критическая уязвимость CVE-2026-45185, позволяющая удалённо выполнить код на сервере без аутентификации. Проблема устранена в Exim 4.99.3.
Что за уязвимость и как работает
Уязвимость проявляется в сборках Exim 4.97+ с библиотекой GnuTLS. Она вызвана обращением к уже освобождённой памяти (use-after-free) в бэкенде GnuTLS и эксплуатируется через расширение ESMTP CHUNKING.
Атака строится так: клиент инициирует передачу тела письма через команду BDAT, затем преждевременно завершает TLS-сеанс командой close_notify и отправляет в том же TCP-соединении один байт в открытом виде. Это приводит к записи байта в уже освобождённый буфер и повреждению метаданных аллокатора памяти в куче. Исследователям удалось создать эксплоит, выполняющий произвольный код — правда, пока только на системах с отключённой защитой ASLR.
Кого затронуло
Сборки Exim с GnuTLS применяются по умолчанию в Debian и Ubuntu. В других дистрибутивах — зависит от конфигурации сборки. Сборки с OpenSSL уязвимость не затрагивает.
Как защититься
- Обновить Exim до версии 4.99.3.
- До обновления — отключить расширение CHUNKING в конфигурации: chunking_advertise_hosts =
nginx: уязвимость CVE-2026-42945, существовавшая 18 лет
Исследователи из DepthFirst AI обнаружили в nginx критическую уязвимость CVE-2026-42945 с оценкой 9.2 по CVSS. Проблема существовала в коде около 18 лет и затрагивает все версии от 0.6.27 до 1.30.0 — патч уже выпущен.
Что за уязвимость и как работает
Уязвимость представляет собой переполнение буфера хипа в модуле ngx_http_rewrite_module. Она проявляется при использовании директив rewrite и set — такая конфигурация типична для API-шлюзов и реверс-прокси.
Сервер некорректно оценивает объём памяти при обработке символа «?» в URL: флаг is_args остаётся активным после обработки, из-за чего объём записываемых данных превышает размер выделенного буфера. Исследователи продемонстрировали PoC с удалённым выполнением кода — однако добились его только на системах с отключённой защитой ASLR, которая по умолчанию включена.
Помимо основной CVE, исследователи нашли ещё три бага: переполнение в модулях SCGI/UWSGI (CVE-2026-42946), use-after-free при обработке OCSP DNS-запросов (CVE-2026-40701) и off-by-one ошибка в UTF-8-парсере (CVE-2026-42934).
Как защититься
Обновить nginx до версии Open Source 1.31.0 или 1.30.1. Для nginx Plus — R36 P4 или R32 P6. Если используете nginx Ingress Controller, nginx App Protect WAF или F5 DoS for nginx — они тоже затронуты, проверьте обновления для каждого продукта отдельно.
Уязвимость в AMD Zen 2 позволяет выполнить код с правами ядра и выйти из виртуальной машины
Компания AMD раскрыла уязвимость CVE-2025-54518 в процессорах на базе микроархитектуры Zen 2. Она вызывает повреждение кэша объектных кодов CPU и позволяет выполнить инструкции на более высоком уровне привилегий — вплоть до выхода из виртуальной машины на хост-систему.
Что за уязвимость и как работает
Уязвимость вызвана некорректной изоляцией совместно используемых ресурсов при операциях с кэшем объектных кодов CPU. Повреждая элементы кэша, атакующий может подменить инструкции, выполняемые на другом уровне привилегий — например, выполнить код с правами ядра из пространства пользователя или получить доступ к хост-окружению из виртуальной машины.
Уязвимость обнаружена сотрудниками AMD, детали эксплуатации пока не раскрываются. Подтверждено влияние на гипервизор Xen.
Кого затронуло
- Десктопные и мобильные серии: Ryzen 3000, 4000, 5000, 7020, 7030 и Threadripper PRO 3000 WX — уязвимость устранена осенью 2025 года.
- Встраиваемые CPU AMD Ryzen Embedded V2000 — исправлено в конце декабря 2025 года.
- Серверные процессоры AMD EPYC 7002 — патча нет, рекомендуется блокировка на уровне ОС.
Как защититься
- Для Xen 4.17–4.21: установить опубликованные патчи.
- Для ядра Linux: патч пока не выпущен, ждите обновления от своего дистрибутива.
- Для EPYC 7002: следить за обновлениями от AMD и применять рекомендованные меры на уровне ОС по мере их появления.