Критическая уязвимость OpenWrt DHCPv6 позволяет удалённое выполнение кода с правами root

Критический баг OpenWrt DHCPv6 открывает root-доступ без аутентификации

Критический переполнение буфера в odhcpd

Проект OpenWrt выпустил версию 24.10.8, устраняющую критическую уязвимость в компоненте DHCPv6. Баг с идентификатором CVE-2026-53921 получил оценку 9,8 по шкале CVSS 3.1. Проблема позволяет неаутентифицированному атакующему, способному связаться с DHCPv6-сервером, выполнить произвольный код с правами root.

Уязвимость кроется в сервисе odhcpd, который по умолчанию работает на большинстве устройств с OpenWrt. Специально сформированный DHCPv6 REQUEST позволяет перезаписать стековый буфер. На встраиваемом оборудовании часто отсутствуют такие механизмы защиты, как stack canaries и ASLR. Это делает эксплуатацию практически гарантированной.

В официальном advisory указано два независимых пути переполнения. Оба связаны с опциями IA — сервер добавляет данные без достаточной проверки границ. Итоговый триггер — неаутентифицированный запрос на UDP-порт 547.

Стек-переполнение в odhcpd открывает возможность удалённого выполнения кода от root без предварительной аутентификации. На устройствах без ASLR и стек-канареек успешная атака практически гарантирована.

Публичный Proof-of-Concept на Python уже документирован в advisory. Первый путь создаёт пять привязок IA_NA через предварительный SOLICIT, второй срабатывает напрямую через один REQUEST. OpenWrt исправил проблему, добавив проверку оставшейся ёмкости буфера перед записью.

Связанные исправления и состояние эксплуатации

По состоянию на 28 июля 2026 года фактов эксплуатации в дикой природе не зафиксировано. CISA также не включила CVE-2026-53921 в каталог KEV, что, впрочем, не гарантирует отсутствия атак. Вектор CVSS использует AV:N, то есть сетевой доступ, хотя release notes указывают «сетевой смежный» (adjacent). Это расхождение не разъяснено разработчиками.

Релиз 24.10.8 также закрывает другие pre-authentication уязвимости в odhcpd. Среди них запись за пределами границ, use-after-free, раскрытие памяти, отказ в обслуживании, stack over-read и спуфинг neighbour-discovery proxy. Дополнительно исправлены три бага HTTP request smuggling в uhttpd и инъекция имени хоста DHCPv6 с идентификатором CVE-2026-62948, способная привести к stored XSS при просмотре администратором страницы leases в LuCI.

  • Затронутые версии: odhcpd master до коммита e432dd6, OpenWrt 24.10.x и 25.12.x до актуальных исправлений.
  • Рекомендуемые версии: 24.10.8 или 25.12.5. Доступны через Firmware Selector.
  • CVE-2026-62947 в cgi-io позволяет читать произвольные файлы root, но требует аутентифицированной сессии и соответствующих прав.

AI-аудит LuCI: дополнительные угрозы

Параллельно компания Hacker House провела аудит компонентов LuCI и uhttpd с применением четырёхстадийного процесса inference-fuzzing. Метод использует ИИ для генерации гипотез об уязвимостях с последующей фильтрацией ложных срабатываний и ручной верификацией. Для recall-стадии применялась модель Qwen 3.6 35B Heretic, для триажа — Claude Opus 4.6.

Исследователи выявили command-injection в luci-app-commands, path-traversal в luci-app-bmx7, stored XSS в luci-app-olsr, а также одну инъекцию в luci-proto-openvpn. Часть находок требует аутентификации, но критическая инъекция команд работает без сессии, если администратор предварительно настроил публичную параметризованную команду.

OpenWrt опубликовал pull request #8878 с шестью коммитами по находкам Hacker House и двумя дополнительными исправлениями (включая XSS, найденный при подготовке патчей). Однако на момент проверки 28 июля запрос не был смержен. Отдельный pull request для ddns-scripts также оставался открытым.

Любопытно, что сам процесс исправления также включал AI — несколько коммитов помечены трейлером Assisted-by: Claude:claude-opus-5, а автоматическое ревью сгенерировано с помощью Claude Code. Таким образом, технологии искусственного интеллекта использовались и для поиска уязвимостей, и для их устранения.

Пользователям рекомендуется немедленно обновиться до актуальных версий, а также проверить отдельно установленные пакеты и пересмотреть делегированные разрешения LuCI. Неиспользуемые опциональные приложения лучше удалять, а публичные параметризованные команды — отключать.

Читайте также: Что такое компьютерный вирус: угрозы и методы защиты

Источник: The Hacker News

Похожие записи