
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.
| 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Í !!!
Este proyecto es solo con fines educativos y de investigación. Úsalo bajo tu propio riesgo.