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
Herramientas/GitHubGitHub/toanln-cov/cve-2026-66492
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubtoanln-cov/cve-2026-66492

CVE-2026-66492

La extensión de Joomla PhocaCommander es vulnerable a Path Traversal en la acción de carga de archivos - CVSS 6.1

Ver Repositorio
13hace 1 mesAú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

Path Traversal en el destino de carga de archivos

PhocaCommander ≤ 6.1.3 — Administrador autenticado escribe archivos fuera de la raíz web

CVE CVSS CWE-22 Affected Researcher


RESUMEN

El controlador de carga de archivos en PhocaCommander construye la ruta de destino a partir de un parámetro folder codificado en base64 y controlado por el atacante, sin ninguna validación de contención de rutas. Un administrador autenticado puede subir archivos a ubicaciones arbitrarias fuera de la raíz web que sean escribibles por el proceso del servidor web.

Confirmado en el laboratorio: al cargar con folder=Li4vLi4vLi4vdG1w (= ../../../tmp) el archivo subido se coloca en — fuera de — propiedad de . En entornos de producción con PHP-FPM, esto puede encadenarse para lograr ejecución remota de código.

/tmp/
/var/www/html/
www-data

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: Administrador (sesión + token CSRF)

Archivo: administrator/components/com_phocacommander/helpers/fileupload.php — realMultipleUpload()

Causa raíz

realMultipleUpload() decodifica el parámetro POST folder desde base64 y lo pasa directamente a una concatenación Path::clean(), que se utiliza como destino de carga sin ninguna comprobación de contención.

FILEUPLOAD.PHP — CÓDIGO VULNERABLE

root@kitploit:~
$folder = $app->getInput()->get('folder', '', '', 'string');
$folder = base64_decode($folder);         // ← attacker-controlled

$path = JPATH_ROOT;                       // = /var/www/html

if (isset($folder) && $folder != '') {
    $pathFolder = Path::clean($path . '/' . $folder . '/');
    // e.g. Path::clean('/var/www/html/../../../tmp/')
    // = '/tmp/' — outside the webroot, no error thrown
}

// ...
File::upload($file['tmp_name'], $pathFolder . strtolower($file['name']));

Path::clean() normaliza los separadores de directorio pero no resuelve ni elimina las secuencias ../. La ruta resultante se pasa directamente a File::upload() sin ninguna comprobación posterior de límites.

Lista blanca de extensiones de carga

El controlador aplica una lista blanca de extensiones (imágenes, documentos, comprimidos, archivos de texto) y bloquea los tipos ejecutables por el servidor, como .php y .htaccess. Sin embargo, muchos tipos de archivo permitidos por la lista blanca — incluyendo scripts de shell, definiciones de tareas cron y fragmentos de configuración — pueden causar daños significativos si se escriben en rutas sensibles del sistema operativo.


PRUEBA DE CONCEPTO

Escenario 1 — Escritura arbitraria de archivos en /tmp mediante path traversal en el parámetro folder

1. Inicie sesión en el panel de administración de Joomla y obtenga el token CSRF

Autentíquese a través de la página de inicio de sesión de administración. Recupere el token CSRF de Joomla desde cualquier página de administración — aparece como un campo de formulario oculto o puede extraerse del código fuente de la página.

Solicitud GET que extrae el token CSRF del panel de administración

2. Suba el archivo con path traversal en el parámetro folder

Envíe una solicitud POST multiparte a POST /administrator/index.php?option=com_phocacommander&task=phocacommanderupload.multipleupload con el contenido del archivo en el campo file y la ruta de traversal codificada en base64 Li4vLi4vLi4vdG1w (= ../../../tmp) en el campo folder. El servidor responde con HTTP 200 y {"jsonrpc":"2.0","result":"OK","code":200,"message":"Success: ","details":"Files uploaded"}.

SOLICITUD / RESPUESTA

Solicitud POST de carga con parámetro folder de traversal y respuesta 200 OK

3. Confirme que el archivo se escribe en /tmp — fuera de la raíz web

Se confirma que el archivo se encuentra en /tmp/upload_test.txt, propiedad de www-data, fuera de /var/www/html/.

Terminal ls -la /tmp mostrando upload_test.txt propiedad de www-data


IMPACTO

  1. Escritura arbitraria de archivos fuera de la raíz web — cualquier ruta escribible por www-data puede recibir contenido elegido por el atacante, incluidas rutas utilizadas por el planificador del sistema operativo, el demonio SSH y otros servicios
  2. Posible RCE en entornos PHP-FPM — subir un archivo .txt que contenga código PHP combinado con un .user.ini (auto_prepend_file) a un directorio accesible por web provoca la ejecución de PHP en la siguiente solicitud a ese directorio

REFERENCIAS

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