Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-28397-js2py-Sandbox-Escape — PoC et correctif pour CVE-2024-28397 : évasion de sandbox dans js2py permettant l'exécution de code à distance (RCE) via la manipulation de références d'objets Python. Comprend les étapes de reproduction et un correctif dynamique. | Kitploit
Outils/GitHubGitHub/cyber-warrior-sec/cve-2024-28397-js2py-sandbox-escape
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubcyber-warrior-sec/cve-2024-28397-js2py-sandbox-escape

CVE-2024-28397-js2py-Sandbox-Escape

PoC et correctif pour CVE-2024-28397 : évasion de sandbox dans js2py permettant l'exécution de code à distance (RCE) via la manipulation de références d'objets Python. Comprend les étapes de reproduction et un correctif dynamique.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
il y a 2 ansPas encore vérifié

Introduction

中文

js2py est un package Python populaire qui permet d'évaluer du code JavaScript dans l'interpréteur Python. Il est utilisé par divers scrappeurs web pour analyser le code JavaScript sur les sites web.

Il existe une vulnérabilité dans l'implémentation des variables globales au sein de js2py, qui pourrait permettre à un attaquant d'obtenir des références à des objets Python dans l'environnement js2py, lui permettant ainsi de sortir de l'environnement JS et d'exécuter des commandes arbitraires sur l'hôte.

Habituellement, l'utilisateur appelle js2py.disable_pyimport() pour empêcher le code JavaScript de quitter l'environnement js2py. Mais avec cette vulnérabilité, un attaquant peut contourner cette restriction et exécuter n'importe quelle commande sur l'hôte.

Des acteurs malveillants peuvent héberger des sites web contenant des fichiers JS malveillants ou envoyer des scripts malveillants via une API HTTP pour que les victimes les déchiffrent. Ce faisant, l'acteur peut effectuer une exécution de code à distance sur l'hôte en exécutant n'importe quelle commande shell sur la cible.

Détails de la vulnérabilité

  • Numéro de version du composant affecté :
    • js2py le plus récent (<=0,74) fonctionnant sous Python 3
  • Produits concernés :
    • pyload/pyload
    • VeNoMouS/cloudscraper (utilise js2py comme 'interpréteur JS' optionnel)
    • dipu-bd/lightnovel-crawler
  • Étapes de reproduction :
    1. Installer Python3 (version inférieure à 3.12) ; actuellement js2py ne supporte pas Python 3.12.
    2. Exécuter pip install js2py pour installer js2py, puis exécuter poc.py, qui tentera d'exécuter head -n 1 /etc/passwd; calc; gnome-calculator; kcalc; sur l'hôte.
    3. Si la vulnérabilité existe, le script devrait afficher Success! the vulnerability exists... ou faire apparaître une calculatrice.

Correctif

Aucun correctif officiel n'est actuellement disponible. L'utilisateur peut utiliser fix.py pour patcher dynamiquement js2py, ou utiliser patch.txt pour corriger le code source.

Autres

J'ai découvert cette vulnérabilité en février et j'ai soumis une PR au dépôt officiel. Mais après cela, la PR a été oubliée et quatre mois se sont écoulés. J'ai donc décidé de publier le PoC et le correctif maintenant.

Télécharger l’outil