Valida CVE-2026-48908 en Joomla SP Page Builder con carga de iconos no autorizada que conduce a la ejecución de código PHP. Incluye evidencia de auditd/PCAP, línea de tiempo de eventos y recomendaciones de detección para SOC para investigación defensiva.
Validación de laboratorio de CVE-2026-48908 en el componente SP Page Builder de Joomla, centrada en evidencia técnica, reconstrucción de eventos y oportunidades de detección defensiva.
El repositorio documenta una prueba controlada en la que el endpoint asset.uploadCustomIcon de SP Page Builder aceptó archivos de iconos subidos que resultaron en la escritura de artefactos PHP bajo el directorio de medios de Joomla. Invocar el archivo PHP subido a través de HTTP provocó la ejecución de comandos como el usuario del proceso del servidor web. La actividad resultante de HTTP, archivos, procesos, autenticación y red fue capturada utilizando registros del contenedor Apache, auditd de Linux, tcpdump, telemetría de Docker, sondeo de cambios de archivos y capturas de pantalla del host Windows.
[!IMPORTANT] Este repositorio contiene solo informes y capturas de pantalla. El código de exploit ofensivo, el código fuente de los payloads, los archivos PCAP sin procesar y los paquetes de evidencia del host sin procesar no se incluyen intencionalmente. El material está destinado a la validación de vulnerabilidades, ingeniería de SOC, desarrollo de detección, preparación para respuesta a incidentes e investigación autorizada.
Ambos informes contienen la metodología de prueba completa, extractos de evidencia, cronología de eventos, evidencia de cambios de archivos, indicadores de red, guía de mitigación, recomendaciones de auditoría y lógica de ejemplo para SIEM.
.
├── README.md
├── SHA256SUMS.txt
├── reports/
│ ├── CVE-2026-48908_SP_Page_Builder_detection_EN.pdf
│ └── CVE-2026-48908_SP_Page_Builder_detection_PL.pdf
└── screenshots/
├── 01_poc_upload_and_code_execution.png
├── 02_http_whoami_www_data.png
├── 03_tcp_callback_ncat.png
├── 04_reverse_shell_session.png
└── 05_root_access_and_su_failure_redacted.png
No se incluyen código fuente de exploits, código fuente de payloads, PCAP sin procesar, paquete de evidencia de Docker sin procesar ni archivos fuente DOCX.
| Rol | Sistema |
|---|---|
| Host víctima | Ubuntu 24.04.4 LTS, kernel 6.17.0-35-generic, Docker Engine 29.5.3 |
| Aplicación objetivo | Joomla 5.4.7, PHP 8.3.32, Apache HTTP Server, imagen joomla:5-php8.3-apache |
| Componente | JoomShaper SP Page Builder |
| Contenedor | joomla5-builders |
| Estación de trabajo del atacante | Microsoft Windows 11 Home 10.0.26200 |
| Servicio Joomla | http://172.20.10.3:8080 |
| Dirección de prueba de Windows | 172.20.10.2 |
| Dirección del contenedor | 172.21.0.3 |
| Fecha de prueba | 9 de julio de 2026 |
La raíz web de Joomla /var/www/html estaba respaldada por el volumen de Docker joomla5-builders_joomla_data. Esto es importante para la detección: docker diff no proporcionó visibilidad detallada de los cambios de archivos dentro del volumen, por lo que la supervisión de archivos tuvo que depender de listados de archivos conscientes del volumen y guía de supervisión del lado del host.
La prueba se realizó en un entorno de laboratorio aislado y autorizado. La validación cubrió la siguiente secuencia:
asset.uploadCustomIcon de SP Page Builder aceptó archivos de iconos subidos en el entorno de laboratorio./media/com_sppagebuilder/assets/iconfont/..htaccess que cambiaba el manejo de PHP para la extensión .PHP./root y de cambiar de usuario con su - fallaron.Los informes documentan intencionalmente la evidencia y la lógica de detección sin distribuir un exploit reutilizable ni una implementación de payload.
La prueba de laboratorio confirmó:
asset.uploadCustomIcon de SP Page Builder;.htaccess bajo el directorio de medios de Joomla;www-data;Dentro del contenedor, la identidad efectiva era:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
El intento fallido de escalada de privilegios era visible como:
cd root
bash: cd: root: Permission denied
su -
Password:
su: Authentication failure
El PoC público probó varias variantes de extensiones y confirmó que una combinación que involucraba una extensión PHP con mayúsculas/minúsculas mixtas y .htaccess podría conducir a la ejecución en la configuración del laboratorio.

Una solicitud HTTP controlada ejecutó whoami, y el navegador mostró el usuario efectivo del proceso.

Antes de la prueba interactiva, se utilizó una devolución de llamada de un solo mensaje más segura para confirmar la conectividad saliente desde el entorno objetivo al host Windows en el puerto TCP 4444.

La sesión interactiva confirmó la ejecución como www-data, Linux como sistema operativo y un directorio de trabajo bajo la ruta de medios de SP Page Builder de Joomla.

Los intentos de acceder a /root y autenticarse con su - fallaron. La captura de pantalla está censurada para no publicar la contraseña de prueba.

La cronología completa está disponible en ambos informes PDF. Los eventos más importantes fueron: