
Технический отчёт и аутентифицированный PoC reverse-shell для CVE-2026-96515 — уязвимости выполнения команд с правами root в обработчике импорта диагностики BOA роутера Netlink HG323RW.
Аутентифицированный ограниченный веб-пользователь может загрузить shell-скрипт через обработчик импорта диагностики Netlink HG323RW, и процесс BOA с UID-0 выполнит его. Требуются аутентификация и действительные значения verification/CSRF; данный репозиторий не заявляет о выполнении кода до аутентификации.
| Поле | Значение |
|---|---|
| CVE | CVE-2026-96515 |
| Продукт | Netlink ICT HG323RW Router |
| Затронутое аппаратное обеспечение | V3.7 |
| Затронутая прошивка | 3.1.02-260228 (Netlinkver) |
| Компонент | bin/boa |
| Конечная точка | /boaform/formImportOMCIShell |
| Требуемый доступ | Аутентифицированная ограниченная веб-учётная запись в смежной/частной сети |
| Продемонстрированное воздействие | Загруженное содержимое shell выполняется с UID 0 |
| CWE | CWE-862 (Missing Authorization), CWE-434 (Unrestricted Upload of File with Dangerous Type) |
| CVSS | 8.6 High — CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| Исправленная прошивка | 3.1.02-260904 (сообщено CERT-In и независимо проверено; проверка во время выполнения подтвердила, что /boaform/formImportOMCIShell и /boaform/admin/formImportOMCIShell оба возвращают HTTP 404) |
| Автор отчёта | Muhammed Safvan |
CERT-In опубликовал запись 24 сентября 2026 года как advisory CIVN-2026-0473. Netlink перечисляет загрузки прошивок на своей странице прошивок.
Ограниченная учётная запись, заданная заводскими настройками по умолчанию, прописана в /etc/config_default.xml, и BOA создаёт /var/boaUser.passwd из настроенных значений MIB во время запуска. После аутентификации в качестве ограниченного пользователя запрос может отправить multipart-поле с именем binary в formImportOMCIShell. Свидетельства из проанализированного bin/boa указывают на назначение /tmp/omcishell и точку выполнения /bin/sh /tmp/omcishell.
Предоставленная запись с авторизованного устройства фиксирует shell с нулевыми значениями реального, эффективного, сохранённого и файлового UID/GID. Точный исходный код на C и история выпусков были недоступны, поэтому утверждения о затронутых версиях намеренно ограничены проанализированным образом. Как проанализированный архив, так и исправленный архив, указанный CNA, сохранены в firmware/; их структура, встроенные версии и контрольные суммы были проверены, но регрессионный тест эксплойта не перезапускался на этом этапе упаковки.
Читайте REPORT.md для полного анализа, предварительных условий, ограничений доказательств и рекомендаций по устранению.
REPORT.md — самодостаточный технический отчёт.poc/ — PoC обратного shell для аутентифицированной частной LAN и заметки по использованию.analysis/ — очищенные заметки статического анализа по провизионированию учётных записей, маршрутизации и поведению ролей.binary/ — узкая идентификация BOA, строки и хеш-свидетельства, извлечённые из проанализированного образа.firmware/ — полные архивы уязвимой и исправленной прошивок производителя, хеши и предупреждения об обновлении.runtime/ — очищенные метаданные прошивки и происхождение предоставленного доказательства выполнения.hashes/ — дайджесты исходных артефактов и результаты проверки.MANIFEST-SHA256.txt — дайджест каждого другого отслеживаемого файла репозитория.Два полных архива прошивок распространяются без извлечённых рабочих деревьев. Не включены никакие активные сессии, CSRF-токены, идентификаторы устройств, данные клиентов, отдельно экспортированные закодированные пароли или непубличные учётные данные. Пара учётных данных, заданная заводскими настройками по умолчанию, обсуждается, поскольку она существенна для затронутой конфигурации. Перераспространение и использование прошивки по-прежнему регулируются условиями производителя.
Публичный PoC загружает фиксированную полезную нагрузку обратного shell на основе FIFO и предоставляет интерактивный слушатель, поэтому команды, введённые после подключения, выполняются на роутере. Он отклоняет публичные адреса цели и обратного вызова, по умолчанию запрашивает пароль и требует явного подтверждения EXECUTE, если оператор не предоставит документированное переопределение автоматизации. Он был проверен на синтаксис, но не выполнялся во время этого обновления репозитория. Используйте его только на устройстве, которым вы владеете или которое вам явно разрешено тестировать.
Демонстрационное видео, предоставленное владельцем, было сохранено вне этого публичного репозитория, поскольку оно отображает локальный путь и контекст рабочего стола, специфичные для машины автора. Теперь репозиторий включает соответствующий исходный код PoC обратного shell; хеш записи и консервативное резюме наблюдений сохранены в runtime/video-observation.txt.