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.jsonopackage-lock.json) para encontrar versiones depdfjs-distiguales 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].
