
PoC para CVE-2026-48907 - Extensión JCE de Joomla! < 2.9.99.5 RCE sin autenticación
⚠️ Este repositorio es solo con fines educativos y de seguridad defensiva. Pruebe únicamente en sistemas que le pertenezcan o para los que tenga autorización explícita. No utilice este proyecto contra sistemas de terceros.
Este PoC demuestra la CVE-2026-48907, una vulnerabilidad de RCE sin autenticación que afecta a Joomla Content Editor (JCE) hasta la versión 2.9.99.4.
Explota la falta de autenticación y validación en la funcionalidad de importación de perfiles de JCE,
Se diferencia del PoC original de BIBIL_0DAY, ya que se basa en el hecho de que la importación de perfiles de JCE almacena el archivo de perfil subido en tmp/, sin autenticación ni validación de formato o contenido. Dado que la configuración predeterminada de Joomla permite la ejecución de PHP desde la carpeta tmp/, esto conduce a una ruta directa de RCE.
Restringir la ejecución de PHP o incluso el acceso público a la carpeta tmp/ mitiga fácilmente este vector.
Se recomienda a los usuarios de Joomla endurecer la configuración de su servidor web y actualizar JCE a >=2.9.99.5.
vulnerable/ – despliega una instancia de Joomla usando la imagen oficial joomla:latest de Docker e instala JCE 2.9.99.4 (versión vulnerable). Escucha en 127.0.0.1:9999patched/ – despliega una instancia de Joomla usando la imagen oficial joomla:latest de Docker e instala JCE 2.9.99.5 (versión parcheada). Escucha en 127.0.0.1:9999Ejecutando
docker compose -f vulnerable/docker-compose.yaml up
python3 poc.py
produce
{"success":true,"message":"","messages":{"info":["0 Profile(s) imported successfully"]},"data":{"redirect":"\/index.php\/component\/jce?view=profiles"}}
>> 3105
[!!!!!] PHP payload was executed ! Server is vulnerable to cve-2026-48907 !
Este proyecto está destinado a ayudar a investigadores, defensores y administradores a comprender la vulnerabilidad y validar los esfuerzos de remediación en un entorno controlado. Los autores no se hacen responsables del mal uso de este material.