Уязвимость в Python-пакете Js2Py, загружаемого более миллиона раз в месяц

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3247
Зарегистрирован: 20.08.2022

#

Уязвимость в Python-пакете Js2Py, загружаемого более миллиона раз в месяц
Дата публикации:Sat, 22 Jun 2024 22:38:35 +0300




В Python-пакете Js2Py, который был загружен в прошлом месяце 1.2 млн раз, выявлена уязвимость (CVE-2024-28397), позволяющая обойти sandbox-изоляцию и выполнить код в системе при обработке специально оформленных данных на JavaScript. Уязвимость может использоваться для атаки на программы, применяющие Js2Py для выполнения JavaScript-кода. Исправление пока доступно только в виде патча. Для проверки возможности атаки подготовлен прототип эксплоита.




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



Из приложений, которые затрагивает уязвимость, отмечаются Lightnovel Crawler (утилита для загрузки книг из online-сервисов и сохранения их в различных форматах для offline-чтения), cloudscraper (автоматически обход страниц защиты от ботов, используемых в CDN Cloudflare) и pyLoad (менеджер загрузок, поддерживающий обработку страниц, генерируемых на JavaScript). При обработке в данных приложениях специально оформленного JavaScript-контента злоумышленник может добиться выполнения произвольного кода на уровне системы.





Уязвимость присутствует в реализации глобальной переменной внутри js2py, позволяющей получить ссылку на Python-объект из выполняемого в изолированном окружении коде на JavaScript, невзирая на вызов метода js2py.disable_pyimport() для отключения импорта Python-объектов. Для выполнения произвольного кода в системе атакующий может воспользоваться уязвимостью для получения доступа к объекту Popen из Python-модуля subprocess. Примечательно, что изменение с устранением уязвимости было отправлено в проект Js2Py первого марта, но за три с половиной месяца так и не было принято.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61421

Жизнь за Нер'зула!

Ответить