Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Hacking-pdf.js-vulnerability — CVE-2024-4367 | Kitploit
Tools/GitHubGitHub/bhavyakcwestern/hacking-pdf.js-vulnerability
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPapers & ForschungLernen & Bildung
GitHubbhavyakcwestern/hacking-pdf.js-vulnerability

Hacking-pdf.js-vulnerability

CVE-2024-4367

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 1 JahrNoch nicht geprüft

🚨 CVE-2024-4367: Beliebige JavaScript-Ausführung in PDF.js

Dieses Projekt demonstriert und analysiert CVE-2024-4367, eine hochkritische Sicherheitslücke in Mozillas PDF.js-Bibliothek, die durch unsachgemäße Typüberprüfung im Schriftartenverarbeitungscode eine beliebige JavaScript-Ausführung ermöglicht. Unsere Forschung zeigt, wie ein bösartig erstelltes PDF in Kontexten wie Electron-Apps JavaScript ausführen kann, was möglicherweise zu einer Remotecodeausführung eskaliert.

🔗 GitHub-Repository: Hacking-pdf.js-vulnerability


📖 Projektübersicht

  • CVE-ID: CVE-2024-4367
  • Schweregrad: Hoch (CVSS v3.1-Score: 8.8)
  • Betroffene Software
    • PDF.js < 4.2.67
    • Mozilla Firefox < 126
    • Firefox ESR < 115.11
    • Thunderbird < 115.11
  • Exploit: Beliebige JavaScript-Ausführung über unsanitisierte fontMatrix in eingebetteten Schriftarten.
  • Proof of Concept (PoC): PDFs ex1.pdf und ex-gist.pdf zeigen Alarme oder Remote-Skriptausführung.

📂 Repository-Inhalte

  • src/components/ReactPdfViewer.tsx – React-Viewer erstellt mit react-pdf 5.7.2 (enthält verwundbares pdfjs-dist 2.16.105)
  • ex1.pdf – schädliches PDF, das einen Alarm auslöst
  • ex-gist.pdf – schädliches PDF, das entferntes JS abruft und ausführt
  • CVE-2024-4367_Report_Hacking_Project.pdf – vollständiger technischer Bericht und Exploit-Analyse

⚠️ Details zur Sicherheitslücke

Die Elemente des fontMatrix-Arrays in PDF.js wurden nicht ordnungsgemäß validiert – sie akzeptierten Zeichenfolgen, die direkt in mit new Function(...) kompiliertes JavaScript eingefügt wurden. Dies ermöglicht Angreifern, bösartige Schriftdaten zu erstellen, die bei erlaubten eval-ähnlichen Operationen zu beliebiger Codeausführung führen.

Beispielhafter anfälliger Codepfad:

root@kitploit:~
fontMatrix = ["alert('XSS')", 0, 0, 1, 0, 0]; // Injected payload
// Results in compiled function like:
function drawGlyph() {
  transform("alert('XSS')", 0, 0, 1, 0, 0); // Unsafe execution
}

🛡️ Abhilfestrategien für CVE-2024-4367

Um diese Sicherheitslücke zu entschärfen und Anwendungen zu schützen, die PDF.js (oder Bibliotheken, die es bündeln) einbetten, ergreifen Sie die folgenden Maßnahmen:

✅ Abhängigkeiten aktualisieren

  • Aktualisieren Sie PDF.js auf v 4.2.67 (oder höher), das den Typüberprüfungsfehler patcht.
    • Wenn Sie Wrapper (z.B. react-pdf) verwenden, bestätigen Sie, dass sie pdfjs-dist ≥ 4.2.67 ausliefern.

✅ Dynamische Kompilierung deaktivieren

  • Setzen Sie isEvalSupported = false in PDF.js, um die dynamische Function-Kompilierung zu deaktivieren.

✅ Typüberprüfung erzwingen

  • Fügen Sie explizite typeof-Prüfungen für alle benutzergelieferten Werte hinzu (z.B. das fontMatrix-Array).

✅ Eingabe bereinigen

  • Lehnen Sie alle nicht-numerischen Eingaben ab oder bereinigen Sie sie, wo Zahlen erwartet werden.

✅ Abhängigkeitsüberwachungstools verwenden

  • Integrieren Sie Snyk (oder ähnliche) in CI/CD, um Abhängigkeiten automatisch zu scannen.
  • Halten Sie package.json/yarn.lock auf dem neuesten Stand und wenden Sie Sicherheitspatches automatisch an.

✅ Browser & Laufzeitumgebungen aktualisiert halten

  • Führen Sie gepatchte Versionen aus:
    • Firefox ≥ 126
    • Firefox ESR ≥ 115.11
    • Thunderbird ≥ 115.11
  • Aktualisieren Sie Electron-Laufzeiten, damit sie eine sichere PDF.js-Version bündeln.

✅ Sicherheitsheader anwenden

Fügen Sie eine strenge Content-Security-Policy hinzu:

root@kitploit:~
Content-Security-Policy: script-src 'self'; object-src 'none';
Tool herunterladen