
Esta vulnerabilidad surge de un sandboxing incompleto en js2py, donde JavaScript manipulado puede recorrer el modelo de objetos interno de Python y acceder a clases peligrosas como subprocess.Popen, permitiendo la ejecución arbitraria de comandos.
Esta vulnerabilidad surge de un sandboxing incompleto en js2py, donde un JavaScript manipulado puede recorrer el modelo de objetos interno de Python y acceder a clases peligrosas como subprocess.Popen, lo que conduce a la ejecución arbitraria de comandos.
Este repositorio contiene un payload proof-of-concept (PoC) que demuestra un escape del sandbox a través de js2py.disable_pyimport(), una vulnerabilidad en versiones de js2py hasta la 0.74.
Cuando una aplicación evalúa o analiza JSON/JavaScript proporcionado por el usuario de forma insegura, esta vulnerabilidad permite a un atacante salir del sandbox de JavaScript, acceder a las partes internas de Python, localizar subprocess.Popen y ejecutar comandos arbitrarios.
js2py para analizar JavaScript de forma segura.js2py.disable_pyimport() y permite omitir las restricciones de importación previstas mediante el acceso a objetos globales.__class__, __base__ y __subclasses__() para localizar subprocess.Popen.disable_pyimport() https://github.com/advisories/GHSA-h95x-26f3-88hr