Falhas críticas no jsPDF: LFI e Path Traversal
8 de Janeiro de 2026

A biblioteca jsPDF, amplamente utilizada para gerar documentos PDF em aplicações JavaScript, apresenta uma vulnerabilidade crítica que permite a um atacante roubar dados sensíveis do sistema de arquivos local, incluindo-os nos arquivos PDF gerados.

O problema está relacionado a uma falha de inclusão local de arquivos (local file inclusion), combinada com uma vulnerabilidade de path traversal.
Essa falha permite o uso de caminhos não sanitizados no mecanismo de carregamento de arquivos (loadFile) em versões do jsPDF anteriores à 4.0. Identificada como CVE-2025-68428 , a vulnerabilidade recebeu uma pontuação de gravidade 9,2. A biblioteca jsPDF é bastante popular, com mais de 3,5 milhões de downloads semanais no repositório npm.

Nas versões para Node.js, a função loadFile é responsável pela leitura do sistema de arquivos local.

O problema ocorre quando um input controlado pelo usuário é usado como caminho do arquivo, fazendo com que o conteúdo desse arquivo seja incorporado ao PDF gerado.
Outros métodos que carregam arquivos também são afetados, como addImage, html e addFont, já que todos podem invocar a função loadFile.

De acordo com o boletim de segurança do jsPDF, essa vulnerabilidade impacta apenas as builds para Node.js, especificamente os arquivos dist/jspdf.node.js e dist/jspdf.node.min.js.

Em relatório técnico detalhado, a empresa de segurança Endor Labs aponta que o risco de exploração é baixo ou inexistente se os caminhos dos arquivos forem codificados diretamente, provenientes de configurações confiáveis ou se forem aplicadas listas de permissões (allowlists) rigorosas nos inputs.

A falha CVE-2025-68428 foi corrigida na versão 4.0.0 do jsPDF, que passou a restringir o acesso ao sistema de arquivos por padrão, utilizando o modo de permissões do Node.js.

Contudo, pesquisadores da Endor Labs destacam que esse modo ainda é experimental na versão 20 do Node, recomendando o uso das versões 22.13.0, 23.5.0, 24.0.0 ou superiores.

Outro ponto importante é que ativar a flag --permission, sugerida como solução pelos desenvolvedores, afeta todo o processo do Node.js e não apenas a biblioteca jsPDF. Além disso, permissões amplas definidas pela flag de configuração --allow-fs-read podem invalidar a correção aplicada.

A equipe do jsPDF recomenda que versões antigas do Node façam a sanitização dos caminhos fornecidos pelo usuário antes de passá-los para a biblioteca.

Devido à ampla adoção do jsPDF em diversos projetos, a vulnerabilidade CVE-2025-68428 representa um potencial alvo para ataques ativos e merece atenção imediata dos desenvolvedores.

Publicidade

Contrate hackers éticos para seu time

A Solyd Hunter encontra, valida e entrega os melhores profissionais de Cibersegurança, Red Team, AppSec e Pentest para sua empresa com garantia e agilidade. Clique aqui e contrate com segurança. Saiba mais...