Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/marven11/cve-2024-28397-js2py-sandbox-escape
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebDesarrollo de Payloads
GitHubmarven11/cve-2024-28397-js2py-sandbox-escape

CVE-2024-28397-js2py-Sandbox-Escape

CVE-2024-28397: escape del sandbox de js2py, evasión de la restricción de pyimport.

Ver Repositorio
721111hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Introducción

Chino

Análisis (Chino)

Análisis (Inglés)

js2py es un paquete popular de Python que puede evaluar código JavaScript dentro del intérprete de Python. Es utilizado por varios scrapers web para analizar código JavaScript en el sitio web.

Existe una vulnerabilidad en la implementación de una variable global dentro de js2py, que permite a un atacante obtener una referencia a un objeto de Python en el entorno de js2py, lo que le permite escapar del entorno JS y ejecutar comandos arbitrarios en el host.

Normalmente, un usuario llamaría a js2py.disable_pyimport() para evitar que el código JavaScript escape del entorno de js2py. Pero con esta vulnerabilidad, un atacante puede evadir esta restricción y ejecutar cualquier comando en el host objetivo.

El actor de amenaza puede alojar un sitio web que contenga un archivo JavaScript malicioso o enviar un script malicioso a través de una API HTTP para que la víctima lo analice. Al hacerlo, el actor puede ejecutar código de forma remota en el host ejecutando cualquier comando de shell en el objetivo.

Detalles de la vulnerabilidad

  • Número de versión del componente afectado:
    • js2py más reciente (<=0.74) que se ejecuta bajo Python 3
  • productos afectados:
    • pyload/pyload
    • VeNoMouS/cloudscraper (usa js2py como un 'intérprete JS' opcional)
    • dipu-bd/lightnovel-crawler
  • Los pasos para reproducir:
    • instalar Python 3 bajo 3.12, actualmente js2py no soporta Python 3.12.
    • Ejecutar pip install js2py para instalar js2py y ejecutar poc.py, que intentará ejecutar head -n 1 /etc/passwd; calc; gnome-calculator; kcalc; en el host.
    • Si la vulnerabilidad existe, el script debería imprimir Success! the vulnerability exists... o mostrar la calculadora.

Solución

Actualmente, no hay una solución oficial disponible; los usuarios pueden usar fix.py para parchear dinámicamente js2py o usar patch.txt para corregir el código fuente.

Otros

Encontré esta vulnerabilidad en febrero y envié un PR al repositorio oficial. Pero después de eso, el PR fue olvidado y después de que pasaron cuatro meses, decidí publicar el PoC y la solución ahora.

Descargar herramienta