FixVibe

high

Ejecución arbitraria de JavaScript en PDF.js (CVE-2024-4367)

CVE-2024-4367 es una vulnerabilidad de alta gravedad en PDF.js (versiones 4.1.392 e inferiores) que permite a los atacantes ejecutar JavaScript arbitrario. Al renderizar un PDF malicioso, la biblioteca puede ejecutar scripts incrustados, lo que puede provocar ataques XSS y exposición de datos. La corrección consiste en actualizar a la versión 4.2.67 o posterior.

CVE-2024-4367GHSA-wgrm-67xf-hhpqCWE-754

Impacto

Las versiones 4.1.392 y anteriores de PDF.js son susceptibles a una vulnerabilidad que permite la ejecución arbitraria de JavaScript [S2]. Este problema, identificado como CVE-2024-4367, tiene una gravedad alta y una puntuación CVSS de 8.8 [S1]. Un atacante puede explotarlo engañando a un usuario para que abra un archivo PDF especialmente manipulado, que después ejecuta código malicioso en el contexto de la sesión del navegador del usuario [S2]. Esto puede provocar cross-site scripting (XSS), secuestro de sesiones y robo de información confidencial [S2].

Causa raíz

La vulnerabilidad se debe al tratamiento incorrecto de determinadas funciones de PDF: la biblioteca no sanea ni comprueba adecuadamente ciertas condiciones inusuales antes de renderizar [S1]. Esta falta de validación permite que se ejecuten scripts maliciosos incrustados en un PDF durante la fase de procesamiento [S2].

Corrección

La solución principal es actualizar la biblioteca pdfjs-dist a la versión 4.2.67 o posterior [S2]. Además, una política de seguridad de contenido (CSP) estricta puede proporcionar una capa de defensa adicional frente a la ejecución de scripts no autorizados [S2].

Estrategia de detección

La detección de esta vulnerabilidad se centra en identificar la presencia de versiones afectadas de la biblioteca en el entorno de una aplicación [S2].

  • Análisis de dependencias: analizar los manifiestos del proyecto y los archivos de bloqueo (como package.json o package-lock.json) para encontrar versiones de pdfjs-dist iguales o inferiores a la 4.1.392 [S2].
  • Identificación de versión: inspeccionar las cadenas de versión de los recursos JavaScript cargados en un entorno web para identificar instancias vulnerables de la biblioteca PDF.js [S2].