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
Hacking-pdf.js-vulnerability — CVE-2024-4367 | Kitploit
Herramientas/GitHubGitHub/bhavyakcwestern/hacking-pdf.js-vulnerability
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPapers e InvestigaciónAprendizaje y Educación
GitHubbhavyakcwestern/hacking-pdf.js-vulnerability

Hacking-pdf.js-vulnerability

CVE-2024-4367

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
Ver Repositorio
hace 1 añoAún no revisado

🚨 CVE-2024-4367: Ejecución arbitraria de JavaScript en PDF.js

Este proyecto demuestra y analiza CVE-2024-4367, una vulnerabilidad de alta gravedad en la biblioteca PDF.js de Mozilla que permite la ejecución arbitraria de JavaScript mediante una verificación de tipos incorrecta en el código de manejo de fuentes. Nuestra investigación muestra cómo un PDF maliciosamente diseñado puede ejecutar JavaScript en contextos como aplicaciones Electron, potencialmente escalando a ejecución remota de código.

🔗 Repositorio de GitHub: Hacking-pdf.js-vulnerability


📖 Resumen del proyecto

  • ID de CVE: CVE-2024-4367
  • Gravedad: Alta (Puntuación CVSS v3.1: 8.8)
  • Software afectado
    • PDF.js < 4.2.67
    • Mozilla Firefox < 126
    • Firefox ESR < 115.11
    • Thunderbird < 115.11
  • Exploit: Ejecución arbitraria de JavaScript a través de fontMatrix sin sanitizar en fuentes incrustadas.
  • Prueba de concepto (PoC): Los PDFs ex1.pdf y ex-gist.pdf muestran alertas o ejecución de scripts remotos.

📂 Contenido del repositorio

  • src/components/ReactPdfViewer.tsx – Visor React construido con react-pdf 5.7.2 (incluye la vulnerable pdfjs-dist 2.16.105)
  • ex1.pdf – PDF malicioso que desencadena una alerta
  • ex-gist.pdf – PDF malicioso que obtiene y ejecuta JS remoto
  • CVE-2024-4367_Report_Hacking_Project.pdf – informe técnico completo y análisis del exploit

⚠️ Detalles de la vulnerabilidad

Los elementos del array fontMatrix de PDF.js no se validaban correctamente, aceptando cadenas inyectadas directamente en JavaScript compilado con new Function(...). Esto permite a los atacantes crear datos de fuente maliciosos, provocando la ejecución arbitraria de código cuando se permiten operaciones similares a eval.

Ejemplo de ruta de código vulnerable:

root@kitploit:~
fontMatrix = ["alert('XSS')", 0, 0, 1, 0, 0]; // Injected payload
// Results in compiled function like:
function drawGlyph() {
  transform("alert('XSS')", 0, 0, 1, 0, 0); // Unsafe execution
}

🛡️ Estrategias de mitigación para CVE-2024-4367

Para mitigar esta vulnerabilidad y proteger las aplicaciones que incorporan PDF.js (o bibliotecas que lo incluyen), adopte las siguientes medidas:

✅ Actualizar dependencias

  • Actualice PDF.js a la v 4.2.67 (o posterior) que corrige el fallo de verificación de tipos.
  • Si utiliza contenedores (por ejemplo, react-pdf), confirme que incluyan pdfjs-dist ≥ 4.2.67.

✅ Deshabilitar la compilación dinámica

  • Establezca isEvalSupported = false en PDF.js para desactivar la compilación dinámica de Function.

✅ Aplicar verificación de tipos

  • Agregue verificaciones explícitas de typeof en todos los valores proporcionados por el usuario (por ejemplo, el array fontMatrix).

✅ Sanitizar la entrada

  • Rechace o sanitice cualquier entrada no numérica donde se esperen números.

✅ Usar herramientas de monitoreo de dependencias

  • Integre Snyk (o similar) en su CI/CD para escanear dependencias automáticamente.
  • Mantenga package.json/yarn.lock actualizados y aplique automáticamente parches de seguridad.

✅ Mantener navegadores y entornos de ejecución actualizados

  • Ejecute versiones parcheadas:
    • Firefox ≥ 126
    • Firefox ESR ≥ 115.11
    • Thunderbird ≥ 115.11
  • Actualice los entornos de ejecución Electron para que incluyan una compilación segura de PDF.js.

✅ Aplicar cabeceras de seguridad

Agregue una Content-Security-Policy estricta:

root@kitploit:~
Content-Security-Policy: script-src 'self'; object-src 'none';
Descargar herramienta