
Esta vulnerabilidade surge do sandboxing incompleto no js2py, onde JavaScript elaborado pode percorrer o modelo de objetos interno do Python e acessar classes perigosas como subprocess.Popen, levando à execução arbitrária de comandos.
Esta vulnerabilidade decorre de sandboxing incompleto no js2py, onde JavaScript malicioso pode percorrer o modelo de objetos interno do Python e acessar classes perigosas como subprocess.Popen, levando à execução arbitrária de comandos.
Este repositório contém um payload de prova de conceito (PoC) que demonstra uma fuga de sandbox através de js2py.disable_pyimport(), uma vulnerabilidade nas versões de js2py até 0.74.
Quando uma aplicação avalia ou analisa JSON/JavaScript fornecido pelo usuário de forma insegura, esta vulnerabilidade permite a um atacante sair da sandbox JavaScript, acessar os componentes internos do Python, localizar subprocess.Popen e executar comandos arbitrários.
js2pyjs2py.disable_pyimport() e torna possível contornar as restrições de importação pretendidas por meio do acesso a objetos globais.__class__, __base__ e __subclasses__() para localizar subprocess.Popen.disable_pyimport() https://github.com/advisories/GHSA-h95x-26f3-88hr