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-48908-joomla-sp-page-builder-detection — 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. | Kitploit
Herramientas/GitHubGitHub/g0thamrabb1t/cve-2026-48908-joomla-sp-page-builder-detection
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAnálisis ForenseSeguridad WebPruebas de PenetraciónPapers e InvestigaciónAprendizaje y EducaciónRespuesta a Incidentes
GitHubg0thamrabb1t/cve-2026-48908-joomla-sp-page-builder-detection

CVE-2026-48908-joomla-sp-page-builder-detection

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.

Ver Repositorio
1hace 2 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

CVE-2026-48908 — Validación y Detección de SP Page Builder para Joomla

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.

Informes

  • Informe de validación en inglés
  • Informe de validación en polaco
  • 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.

    Estructura del repositorio

    root@kitploit:~
    .
    ├── 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.

    Entorno de prueba

    RolSistema
    Host víctimaUbuntu 24.04.4 LTS, kernel 6.17.0-35-generic, Docker Engine 29.5.3
    Aplicación objetivoJoomla 5.4.7, PHP 8.3.32, Apache HTTP Server, imagen joomla:5-php8.3-apache
    ComponenteJoomShaper SP Page Builder
    Contenedorjoomla5-builders
    Estación de trabajo del atacanteMicrosoft Windows 11 Home 10.0.26200
    Servicio Joomlahttp://172.20.10.3:8080
    Dirección de prueba de Windows172.20.10.2
    Dirección del contenedor172.21.0.3
    Fecha de prueba9 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.

    Qué se validó

    La prueba se realizó en un entorno de laboratorio aislado y autorizado. La validación cubrió la siguiente secuencia:

    1. Joomla 5 se implementó en Docker con SP Page Builder instalado.
    2. Se utilizó como referencia de validación inicial un proyecto público listado en Referencias.
    3. El endpoint asset.uploadCustomIcon de SP Page Builder aceptó archivos de iconos subidos en el entorno de laboratorio.
    4. Se crearon nuevos directorios y archivos bajo /media/com_sppagebuilder/assets/iconfont/.
    5. El contenido subido incluía extensiones PHP con mayúsculas/minúsculas mixtas y un archivo .htaccess que cambiaba el manejo de PHP para la extensión .PHP.
    6. El artefacto PHP subido fue invocado a través de HTTP y ejecutó comandos controlados.
    7. Una devolución de llamada TCP única al host Windows confirmó la conectividad saliente.
    8. Una prueba controlada de shell inversa confirmó la ejecución interactiva de comandos como el usuario del servidor web.
    9. Los intentos de acceder a /root y de cambiar de usuario con su - fallaron.
    10. La evidencia de la telemetría del lado de la víctima y las capturas de pantalla de Windows se correlacionaron en una única cronología UTC.

    Los informes documentan intencionalmente la evidencia y la lógica de detección sin distribuir un exploit reutilizable ni una implementación de payload.

    Resultado confirmado

    La prueba de laboratorio confirmó:

    • carga no autorizada a través del endpoint asset.uploadCustomIcon de SP Page Builder;
    • creación de artefactos PHP y .htaccess bajo el directorio de medios de Joomla;
    • ejecución en el lado del servidor del artefacto PHP subido después de una solicitud HTTP;
    • ejecución en el contexto del usuario del proceso Apache/PHP;
    • conectividad TCP saliente desde el contenedor Joomla al host Windows;
    • una sesión interactiva de shell inversa como www-data;
    • sin escalada de privilegios confirmada a root.

    Dentro del contenedor, la identidad efectiva era:

    root@kitploit:~
    uid=33(www-data) gid=33(www-data) groups=33(www-data)
    

    El intento fallido de escalada de privilegios era visible como:

    root@kitploit:~
    cd root
    bash: cd: root: Permission denied
    su -
    Password:
    su: Authentication failure
    

    Evidencia clave

    Validación del PoC público y comportamiento de carga

    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.

    Carga del PoC y ejecución de código

    Ejecución de código como usuario del servidor web

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

    Resultado de whoami por HTTP

    Devolución de llamada TCP única

    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.

    Devolución de llamada TCP única

    Sesión de shell inversa

    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.

    Sesión de shell inversa

    Intento fallido de acceso a root

    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.

    Intento fallido de acceso a root y su

    Cronología reconstruida

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

    UTCEvento
    19:33:56Inicio de auditoría de Linux, tcpdump, eventos de Docker y sondeo de cambios de archivos
    19:34:23Serie de solicitudes POST a /index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
    19:34:23.291GET a un archivo .PHP subido con un comando aritmético controlado
    19:34:23.329GET a un archivo .pHp subido con un comando aritmético controlado
    19:34:23.361GET a un archivo .Php subido con un comando aritmético controlado
    19:34:23.398GET al artefacto .PHP final con un comando aritmético controlado
    19:34:23.411El PoC público ejecutó id a través del artefacto PHP subido y recibió HTTP 200
    19:35:05Solicitud manual de whoami devolvió www-data
    19:35:27Devolución de llamada TCP única a 172.20.10.2:4444 exitosa
    19:35:59Solicitud HTTP inició una conexión TCP inversa a 172.20.10.2:4444
    19:36:22-19:36:31whoami, uname, id y pwd confirmaron el contexto de ejecución
    19:37:13cd root devolvió Permission denied
    19:37:21-19:37:28Intento de su - falló con Authentication failure
    19:39:25La recolección de auditoría se detuvo y los artefactos se empaquetaron

    Metodología de recolección de evidencia

    Linux y Docker

    El host víctima recolectó:

    • eventos de auditd para execve;
    • captura de paquetes usando tcpdump;
    • metadatos, registros, eventos, listados de procesos y diferencias del sistema de archivos del contenedor Docker;
    • sondeo periódico de cambios de archivos desde dentro del contenedor;
    • listados de archivos para la raíz web de Joomla, directorios temporales y rutas de medios relevantes;
    • estado seleccionado del contenedor antes y después de la prueba.

    La prueba también identificó una limitación de monitoreo: debido a que /var/www/html estaba respaldado por un volumen de Docker, docker diff no mostró la creación detallada de archivos bajo /var/www/html/media/com_sppagebuilder/assets/iconfont/. Por lo tanto, el monitoreo de integridad de archivos debe cubrir la ruta real del host que respalda el volumen.

    Windows

    La evidencia del host Windows se limitó intencionalmente a capturas de pantalla relevantes para el informe:

    • salida del PoC público;
    • salida del navegador para whoami;
    • salida de Ncat para la devolución de llamada única;
    • salida de Ncat para la sesión de shell inversa;
    • intento fallido de /root y su - con la contraseña censurada.

    Oportunidades de detección más importantes

    1. Carga a través de SP Page Builder

    Monitoree la telemetría HTTP, proxy inverso, WAF o red para la siguiente combinación:

    root@kitploit:~
    POST /index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
    User-Agent contiene: sppb-rce-poc
    Status: 200, 201 o 204
    

    En producción, no confíe únicamente en el User-Agent del PoC público. El endpoint y el patrón de carga inesperado son indicadores más estables que el valor del User-Agent.

    2. Archivo ejecutable o .htaccess bajo la ruta de iconos de SP Page Builder

    Monitoree la telemetría de archivos para archivos nuevos o modificados que coincidan con:

    root@kitploit:~
    /media/com_sppagebuilder/assets/iconfont/*/fonts/*.php
    /media/com_sppagebuilder/assets/iconfont/*/fonts/*.PHP
    /media/com_sppagebuilder/assets/iconfont/*/fonts/*.pHp
    /media/com_sppagebuilder/assets/iconfont/*/fonts/*.Php
    /media/com_sppagebuilder/assets/iconfont/*/fonts/.htaccess
    

    La presencia de .htaccess que contenga AddType application/x-httpd-php .PHP en un directorio de carga de medios es un indicador de alto valor.

    3. Solicitud GET a un archivo PHP subido con parámetros de comando

    Correlacione la actividad de carga con solicitudes HTTP posteriores a rutas como:

    root@kitploit:~
    /media/com_sppagebuilder/assets/iconfont/*/fonts/*
    

    Se alcanza una mayor confianza cuando la solicitud apunta a una extensión similar a PHP e incluye parámetros como t= y c=.

    4. Actividad de shell o intérprete desde la cuenta del servicio web

    Los indicadores de proceso de alto valor incluyen:

    root@kitploit:~
    usuario: www-data, apache o nginx
    proceso: bash, sh, dash o php
    línea de comandos contiene: /dev/tcp, bash -i, operadores de redirección o ejecución inusual de intérpretes
    

    5. Conexión saliente desde el contenedor web

    Active una alerta cuando un shell o intérprete iniciado por el proceso del servidor web establezca una conexión saliente hacia una estación de trabajo o un puerto de destino inusual. El evento de laboratorio utilizó el puerto TCP 4444, pero la detección en producción no debe depender de un solo puerto.

    6. Intentos fallidos de escalada de privilegios después de la ejecución web

    La prueba produjo un intento fallido de su -. Monitoree ayudantes de autenticación como unix_chkpwd, escrituras en /var/log/btmp y comandos interactivos posteriores al compromiso de la cuenta del servicio web.

    Guía de triaje para SOC

    Cuando se detecte el indicador de carga HTTP, el SOC debe correlacionarlo inmediatamente con:

    • la IP de origen, el agente de usuario y el estado HTTP;
    • si la instancia de Joomla objetivo tiene SP Page Builder instalado y si la versión es vulnerable;
    • nuevos directorios bajo /media/com_sppagebuilder/assets/iconfont/;
    • nuevos archivos similares a PHP o archivos .htaccess bajo los directorios de medios de Joomla;
    • solicitudes HTTP GET a los archivos recién creados poco después de la carga;
    • parámetros de consulta similares a comandos como t= y c=;
    • creación de procesos por parte del usuario del servidor web, especialmente procesos de shell o intérprete;
    • conexiones salientes desde el contenedor web o la cuenta del servicio web;
    • comandos de descubrimiento como whoami, id, uname, hostname, pwd, ip, ifconfig, netstat o ss;
    • fallos de autenticación, intentos de acceso a credenciales, persistencia o movimiento lateral después de la ejecución inicial.

    Un solo evento de carga no siempre es suficiente por sí solo. La alerta más sólida combina carga, creación de archivos, acceso a archivos, ejecución de procesos y telemetría de red saliente dentro de la misma ventana de tiempo corta.

    Mitigaciones recomendadas

    1. Actualice SP Page Builder a la versión 6.6.2 o superior.
    2. Revise /media/com_sppagebuilder/assets/iconfont/ y el directorio de medios de Joomla en general en busca de archivos similares a PHP y artefactos .htaccess.
    3. Elimine cualquier archivo PHP, .htaccess, .phtml, .phar, archivo o artefacto ejecutable inesperado de los directorios de carga.
    4. Deshabilite la ejecución de PHP en los directorios de carga y medios en la capa de Apache, Nginx y PHP-FPM.
    5. Restrinja o alerte sobre el acceso al endpoint asset.uploadCustomIcon desde redes no confiables.
    6. Monitoree los procesos secundarios del servicio web y las conexiones salientes desde los contenedores web.
    7. Implemente FIM, eBPF, auditd o cobertura EDR para volúmenes Docker que contengan la raíz web de la aplicación.
    8. No confíe únicamente en docker diff para la supervisión de la raíz web cuando los datos de la aplicación se almacenen en volúmenes Docker o montajes bind.

    Alcance y limitaciones

    • La validación se realizó contra una instancia de Joomla 5 en Docker con SP Page Builder instalado.
    • El impacto observado fue la ejecución de código como el usuario del proceso del servidor web www-data; no se confirmó la escalada de privilegios a root.
    • El resultado confirma la ruta y configuración probadas. No prueba que cada implementación, proxy inverso, servidor web, manejador de PHP o sistema operativo se comporte de manera idéntica.
    • El código de exploit ofensivo, el código fuente de los payloads, los archivos PCAP sin procesar, los paquetes de evidencia de Docker sin procesar y los archivos fuente DOCX no se distribuyen en este repositorio.
    • Los informes contienen extractos de evidencia seleccionados en lugar de registros completos sin procesar, para mantener el material legible y centrado en la detección.

    Referencias

    • NVD - CVE-2026-48908
    • CVE.org - CVE-2026-48908
    • Catálogo de Vulnerabilidades Explotadas Conocidas de CISA
    • Proyecto público utilizado como referencia de validación inicial
    • JoomShaper SP Page Builder

    Aviso de uso responsable

    Este material se proporciona para investigación de seguridad defensiva, gestión de vulnerabilidades, ingeniería de detección, preparación para respuesta a incidentes y pruebas autorizadas. No lo utilice contra sistemas sin permiso explícito.

    Descargar herramienta