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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/marven11/cve-2024-28397-js2py-sandbox-escape
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийРазработка Полезной Нагрузки
GitHubmarven11/cve-2024-28397-js2py-sandbox-escape

CVE-2024-28397-js2py-Sandbox-Escape

CVE-2024-28397: побег из песочницы js2py, обход ограничения pyimport.

Репозиторий
7211161 год назадПроверено Kitploit

Популярное

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

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

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

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

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

Введение

中文

Анализ (китайский)

Анализ (английский)

js2py — популярный пакет Python, который может выполнять код JavaScript внутри интерпретатора Python. Он используется различными веб-скраперами для анализа JavaScript-кода на веб-сайте.

В реализации глобальной переменной внутри js2py существует уязвимость, позволяющая атакующему получить ссылку на объект Python в среде js2py, что даёт возможность выйти за пределы JS-среды и выполнить произвольные команды на хосте.

Обычно пользователь вызывает js2py.disable_pyimport(), чтобы не дать JavaScript-коду выйти за пределы среды js2py. Но с помощью этой уязвимости атакующий может обойти это ограничение и выполнить любую команду на целевом хосте.

Злоумышленник может разместить веб-сайт, содержащий вредоносный JavaScript-файл, или отправить вредоносный скрипт через HTTP API для обработки жертвой. Таким образом, он может совершить удалённое выполнение кода на хосте, выполнив любую команду оболочки на целевой системе.

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

  • Номер версии затронутого компонента:
    • последняя версия js2py (<=0.74), работающая на python 3
  • затронутые продукты:
    • pyload/pyload
    • VeNoMouS/cloudscraper (использует js2py в качестве опционального 'js-интерпретатора')
    • dipu-bd/lightnovel-crawler
  • Шаги для воспроизведения:
    • установите python3 версии ниже 3.12; сейчас js2py не поддерживает python3.12.
    • Выполните pip install js2py для установки js2py и запустите poc.py, который попытается выполнить head -n 1 /etc/passwd; calc; gnome-calculator; kcalc; на хосте.
    • Если уязвимость существует, скрипт должен вывести Success! the vulnerability exists... или открыть калькулятор.

Исправление

На данный момент официальное исправление недоступно; пользователи могут использовать fix.py для динамического патча js2py или использовать patch.txt для исправления исходного кода.

Прочее

Я обнаружил эту уязвимость в феврале и отправил PR в официальный репозиторий. Но после этого о PR забыли, и спустя четыре месяца я решил опубликовать PoC и исправление.

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