
CVE-2026-48908 — Exploit PoC para RCE no autenticado en SP Page Builder (Joomla) mediante carga arbitraria de archivos. Multihilo, bypass de mayúsculas/minúsculas, verificación de shell. Solo para pruebas de seguridad autorizadas.
Crítico (CVSS v4: 10.0) — Exploit de prueba de concepto para la ejecución remota de código no autenticada en SP Page Builder (
com_sppagebuilder) para Joomla.
| Atributo | Valor |
|---|---|
| CVE ID | CVE-2026-48908 |
| Gravedad | Crítica |
| Puntuación CVSS v4 | 10.0 |
| Debilidad | CWE-284 (Control de acceso inadecuado) → Subida de archivos no autenticada |
| Componente | SP Page Builder (com_sppagebuilder) para Joomla |
| Versiones afectadas | 1.0.0 – 6.6.1 |
| Versión corregida | 6.6.2 |
| Privilegios requeridos | Ninguno (pre‑autenticación) |
| Interacción del usuario | Ninguna |
| Vector de ataque | Red |
| Impacto | Compromiso total del sistema (RCE) |
SP Page Builder expone la tarea de controlador asset.uploadCustomIcon para gestionar la subida de un paquete de fuentes de iconos personalizado:
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
En las versiones vulnerables, esta tarea es accesible sin autenticación y sin un token CSRF válido. Acepta un archivo ZIP (campo multipart custom_icon) y extrae su contenido en un directorio de acceso público dentro de la raíz web:
/media/com_sppagebuilder/assets/iconfont/<name>/
Debido a que el endpoint es accesible antes de la autenticación y los archivos extraídos acaban en una ubicación navegable, un atacante puede subir archivos arbitrarios y ejecutar código PHP solicitándolos a través de HTTP.
Este exploit evade los filtros habituales de nombres de archivo del lado del servidor mediante:
.php, .phtml, .phar, etc. en minúsculas, pero no normaliza las mayúsculas, por lo que .PHP y otras variantes con mayúsculas y minúsculas combinadas son aceptadas.selection.json, style.css y fonts/<name>.ttf válidos para que la subida sea aceptada.fonts/shxt.{ext} dentro del archivo extraído..php y .PHPresult.txtrequestsgit clone https://github.com/Jenderal92/CVE-2026-48908
cd CVE-2026-48908
pip install requests
Uso básico
python2 CVE-2026-48908.py list.txt
Con un número de hilos personalizado
python2 CVE-2026-48908.py list.txt 20
Formato del archivo de entrada
list.txt debe contener una URL de destino por línea:
https://example.com
http://target-site.com/joomla
https://192.168.1.100/joomla
Salida
· Las URL de shell exitosas se añaden a result.txt · Cada línea contiene la URL completa de la shell PHP subida
La shell integrada proporciona:
· Información del entorno del servidor (php_uname()) · Interfaz de subida de archivos para cargar archivos adicionales · Retroalimentación de éxito / fallo
· Actualiza SP Page Builder a la versión 6.6.2 o superior. · Audita los directorios de subida en busca de archivos no autorizados: · /media/com_sppagebuilder/assets/iconfont/ · Elimina cualquier archivo PHP inesperado que encuentres en esos directorios. · Revisa los registros del servidor en busca de peticiones POST sospechosas a asset.uploadCustomIcon. · Implementa un cortafuegos de aplicaciones web (WAF) para bloquear dichas peticiones.
Esta herramienta es solo para fines educativos y de pruebas de seguridad autorizadas.
El acceso no autorizado a sistemas informáticos es ilegal. Los autores no asumen ninguna responsabilidad por el mal uso o los daños causados por esta herramienta. Úsala únicamente en sistemas que poseas o para los que tengas permiso explícito por escrito para realizar pruebas.
Para más avisos legales, puedes ver el aviso legal en la portada de Jenderal92. Puedes consultarlo AQUÍ !!!
· Aviso de Censys · Entrada de NVD · Anuncio de seguridad de JoomShaper
Este proyecto es solo con fines educativos y de investigación. Úsalo bajo tu propio riesgo.