Plataforma
nodejs
Componente
jspdf
Corregido en
4.2.2
4.2.1
La vulnerabilidad CVE-2026-31938 es una falla de Cross-Site Scripting (XSS) presente en la biblioteca jspdf para Node.js. Esta falla permite a atacantes inyectar código HTML y JavaScript malicioso en el contexto del navegador cuando un usuario abre un archivo PDF generado por la biblioteca. Afecta a versiones de jspdf desde 4.0.0 hasta la 4.2.0, y se recomienda actualizar a la versión 4.2.1 para solucionar el problema.
Un atacante puede explotar esta vulnerabilidad manipulando las opciones de configuración de la función output de jspdf. Específicamente, las opciones pdfobjectnewwindow, pdfJsUrl, filename y el objeto options completo (en pdfobjectnewwindow) son susceptibles a la inyección de código. Al proporcionar valores maliciosos para estas opciones, el atacante puede insertar código HTML o JavaScript arbitrario en el archivo PDF generado. Cuando un usuario abre este PDF, el código malicioso se ejecuta en su navegador, permitiendo al atacante robar cookies, redirigir al usuario a sitios web maliciosos, o incluso ejecutar acciones en nombre del usuario.
Esta vulnerabilidad ha sido publicada el 2026-03-17. No se ha reportado su inclusión en el KEV de CISA, pero dada la severidad (CVSS 9.6) y la facilidad de explotación, es probable que se convierta en un objetivo para atacantes. Se recomienda monitorear activamente los sistemas que utilizan jspdf para detectar posibles intentos de explotación. No se han identificado públicamente pruebas de concepto (PoCs) activas, pero la naturaleza de la vulnerabilidad sugiere que podrían surgir rápidamente.
Applications that utilize the jspdf library to generate PDFs are at risk, particularly those that accept user-provided data to customize the PDF content. This includes web applications, desktop applications, and any other software that integrates with jspdf. Shared hosting environments where multiple applications share the same Node.js environment are also at increased risk, as a vulnerability in one application could potentially compromise others.
• nodejs / supply-chain:
Get-Process | Where-Object {$_.ProcessName -like '*node*'} | Select-Object Name, Id, Path• nodejs / supply-chain:
Get-ChildItem -Path Env:NODE_PATH -Recurse -Filter "jspdf*" | Select-Object FullName• generic web:
Use curl or wget to check for endpoints that generate PDFs and attempt to inject HTML payloads into parameters related to PDF options. Examine the generated PDF file for signs of injected script.
disclosure
Estado del Exploit
EPSS
0.04% (12% percentil)
CISA SSVC
Vector CVSS
La mitigación principal para esta vulnerabilidad es actualizar la biblioteca jspdf a la versión 4.2.1 o superior, que incluye la corrección de seguridad. Si la actualización no es inmediatamente posible, se recomienda validar y sanitizar rigurosamente todas las entradas de usuario que se utilizan para configurar las opciones de jspdf. Además, se puede implementar una capa de seguridad como un Web Application Firewall (WAF) para filtrar solicitudes maliciosas que intenten explotar esta vulnerabilidad. Es crucial revisar el código fuente para identificar cualquier uso vulnerable de las opciones afectadas y aplicar las validaciones necesarias.
Actualice la biblioteca jsPDF a la versión 4.2.1 o superior. Alternativamente, sanitice las entradas del usuario antes de pasarlas al método output para evitar la inyección de HTML.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
CVE-2026-31938 is a critical XSS vulnerability in the jspdf Node.js library, allowing attackers to inject malicious HTML into generated PDFs.
You are affected if you are using jspdf versions prior to 4.2.1 and your application allows user-controlled data to influence PDF generation options.
Upgrade to jspdf version 4.2.1 or later. If immediate upgrade is not possible, implement input validation and sanitization on PDF generation options.
No active exploitation campaigns have been reported, but public proof-of-concept exploits are likely to emerge.
Refer to the jspdf project's repository and related security advisories for the latest information.
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.