Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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
CVE-2024-28397-js2py-Sandbox-Escape — Prueba de concepto del exploit para CVE-2024-28397, una evasión de sandbox en js2py que permite la ejecución remota de código mediante JavaScript manipulado, con un parche dinámico de corrección. | Kitploit
Herramientas/GitHubGitHub/cyber-warrior-sec/cve-2024-28397-js2py-sandbox-escape
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubcyber-warrior-sec/cve-2024-28397-js2py-sandbox-escape

CVE-2024-28397-js2py-Sandbox-Escape

Prueba de concepto del exploit para CVE-2024-28397, una evasión de sandbox en js2py que permite la ejecución remota de código mediante JavaScript manipulado, con un parche dinámico de corrección.

Ver Repositorio
22hace 2 añosAún no revisado

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

中文

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 sitios web.

Existe una vulnerabilidad en la implementación de variables globales dentro de js2py, que podría permitir a un atacante obtener referencias a objetos de Python en el entorno de js2py, permitiéndole así salir del entorno JS y ejecutar comandos arbitrarios en el host.

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

Los actores de amenazas pueden alojar sitios web que contengan archivos JS maliciosos o enviar scripts maliciosos a través de HTTP API para que las víctimas los descifren. Al hacerlo, el actor puede realizar una ejecución remota de código en el host ejecutando cualquier comando de shell en el objetivo.

Detalle de la vulnerabilidad

  • Número de versión del componente afectado:
    • js2py más reciente (<=0.74) ejecutándose bajo Python 3
  • Productos afectados:
    • pyload/pyload
    • VeNoMouS/cloudscraper (usa js2py como un 'intérprete JS' opcional)
    • dipu-bd/lightnovel-crawler
  • Pasos para reproducir:
    • Instalar Python3 menor a 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 una calculadora.

Solución

Actualmente no hay una solución oficial disponible, el usuario puede usar fix.py para aplicar un parche dinámico a 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 quedó olvidado y pasaron cuatro meses, por lo que decidí publicar el PoC y la solución ahora.

Descargar herramienta