
Эта уязвимость возникает из-за неполной изоляции в js2py, где специально сконструированный JavaScript может обходить внутреннюю объектную модель Python и получать доступ к опасным классам, таким как subprocess.Popen, что приводит к выполнению произвольных команд.
Эта уязвимость возникает из-за неполной изоляции в js2py, где специально созданный JavaScript может обойти внутреннюю объектную модель Python и получить доступ к опасным классам, таким как subprocess.Popen, что приводит к выполнению произвольных команд.
Этот репозиторий содержит полезную нагрузку proof-of-concept (PoC), демонстрирующую побег из песочницы через js2py.disable_pyimport(), уязвимость в js2py версии до 0.74.
Когда приложение небезопасно выполняет или анализирует предоставленный пользователем JSON/JavaScript, эта уязвимость позволяет атакующему вырваться из песочницы JavaScript, проникнуть во внутренности Python, найти subprocess.Popen и выполнить произвольные команды.
js2py для безопасного анализа JavaScript.js2py.disable_pyimport(), что позволяет обойти предполагаемые ограничения импорта через доступ к глобальным объектам.__class__, __base__ и __subclasses__(), чтобы найти subprocess.Popen.disable_pyimport() https://github.com/advisories/GHSA-h95x-26f3-88hr