
Cette vulnérabilité provient d'un sandboxing incomplet dans js2py, où du JavaScript spécialement conçu peut parcourir le modèle d'objets internes de Python et accéder à des classes dangereuses comme subprocess.Popen, conduisant à l'exécution de commandes arbitraires.
Cette vulnérabilité provient d'un sandboxing incomplet dans js2py, où du JavaScript malveillant peut parcourir le modèle d'objets interne de Python et accéder à des classes dangereuses comme subprocess.Popen, conduisant à l'exécution arbitraire de commandes.
Ce dépôt contient une charge utile preuve de concept (PoC) démontrant une évasion du sandbox via js2py.disable_pyimport(), une vulnérabilité dans les versions de js2py jusqu'à 0.74.
Lorsqu'une application évalue ou analyse du JSON/JavaScript fourni par l'utilisateur de manière non sécurisée, cette vulnérabilité permet à un attaquant de s'échapper du sandbox JavaScript, d'atteindre les internes de Python, de localiser subprocess.Popen et d'exécuter des commandes arbitraires.
js2py pour analyser JavaScript de manière sécurisée.js2py.disable_pyimport(), et permet de contourner les restrictions d'importation prévues via l'accès aux objets globaux.__class__, __base__ et __subclasses__() pour localiser subprocess.Popen.disable_pyimport() https://github.com/advisories/GHSA-h95x-26f3-88hr