Plataforma
nodejs
Componente
jspdf
Corrigido em
4.2.2
4.2.1
A vulnerabilidade CVE-2026-31938 é uma falha de Cross-Site Scripting (XSS) crítica encontrada na biblioteca jspdf, utilizada para gerar arquivos PDF em aplicações Node.js. Atacantes podem injetar código HTML malicioso, incluindo scripts, no contexto do navegador onde o PDF gerado é aberto, comprometendo a segurança do usuário. A vulnerabilidade afeta versões anteriores a 4.2.1 e pode ser explorada através do controle das opções de saída do PDF.
A exploração bem-sucedida desta vulnerabilidade permite a um atacante injetar código JavaScript arbitrário no navegador do usuário que visualiza o PDF gerado. Isso pode levar a roubo de cookies de sessão, redirecionamento para sites maliciosos, ou até mesmo a modificação do conteúdo da página web. O impacto é severo, pois a injeção de script pode comprometer a integridade e a confidencialidade dos dados do usuário. A vulnerabilidade reside no controle do usuário sobre as opções de saída, especificamente nas opções 'pdfobjectnewwindow', 'pdfJsUrl' e 'filename', que são incluídas diretamente no HTML gerado sem validação adequada. Esta falha se assemelha a outras vulnerabilidades XSS onde a falta de sanitização de dados fornecidos pelo usuário leva à execução de código malicioso.
A vulnerabilidade foi divulgada em 2026-03-17. Não há informações disponíveis sobre a adição a KEV ou a existência de um EPSS score. Atualmente, não há Proof-of-Concept (PoC) públicos amplamente divulgados, mas a natureza da vulnerabilidade XSS torna a exploração relativamente simples para atacantes com conhecimento técnico. A ausência de exploração ativa confirmada não diminui a gravidade da vulnerabilidade, dada a sua facilidade de exploração.
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
Status do Exploit
EPSS
0.04% (percentil 12%)
CISA SSVC
Vetor CVSS
A mitigação primária para CVE-2026-31938 é atualizar a biblioteca jspdf para a versão 4.2.1 ou superior, que corrige a vulnerabilidade. Se a atualização imediata não for possível devido a problemas de compatibilidade, considere implementar medidas de proteção adicionais. Valide e sanitize rigorosamente todas as entradas do usuário que são usadas para configurar as opções de saída do PDF. Implemente regras no Web Application Firewall (WAF) para bloquear solicitações que contenham payloads XSS conhecidos. Monitore os logs de acesso e erro do servidor em busca de padrões suspeitos que possam indicar tentativas de exploração. Não há rollbacks viáveis além da atualização, pois a correção está na própria biblioteca.
Atualize a biblioteca jsPDF para a versão 4.2.1 ou superior. Alternativamente, sanitize as entradas do usuário antes de passá-las para o método output para evitar a injeção de HTML.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
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.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.