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-48908 — Exploit proof-of-concept per CVE-2026-48908, una RCE non autenticata in Joomla SP Page Builder tramite upload di file arbitrario, con consegna del payload adattiva e pulizia. | Kitploit
Strumenti/GitHubGitHub/bayu06802/cve-2026-48908
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubbayu06802/cve-2026-48908

CVE-2026-48908

Exploit proof-of-concept per CVE-2026-48908, una RCE non autenticata in Joomla SP Page Builder tramite upload di file arbitrario, con consegna del payload adattiva e pulizia.

Vedi Repository
12 mesi faNon ancora revisionato

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-48908 — SP Page Builder (Joomla) RCE non autenticata

Proof-of-concept per CVE-2026-48908, una vulnerabilità critica (CVSS 4.0 = 10.0) di esecuzione di codice in remoto non autenticata nel componente SP Page Builder (com_sppagebuilder) per Joomla, di JoomShaper.

CVECVE-2026-48908
DebolezzaCWE-284 Controllo di accesso improprio → Caricamento file arbitrario non autenticato → RCE
ComponenteSP Page Builder (com_sppagebuilder) per Joomla
Versioni affette1.0.0 – 6.6.1
Corretto in6.6.2
Privilegi richiestiNessuno (pre-autenticazione)
Interazione utenteNessuna

Descrizione

SP Page Builder espone il task del controller asset.uploadCustomIcon per gestire il caricamento di un pacchetto di icone personalizzate:

root@kitploit:~
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon

Nelle versioni affette, questo task è raggiungibile senza autenticazione e senza un token anti-CSRF valido. Accetta un archivio ZIP (campo multipart custom_icon) e estrae il suo contenuto in una directory pubblicamente accessibile via web sotto la root del documento:

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<nome>/   (inclusa la sottocartella fonts/)

Poiché il caricamento è raggiungibile pre-autenticazione e i file estratti finiscono nella root web, un attaccante può scrivere file controllati in una posizione navigabile e raggiungerli via HTTP.

Ottenere l'esecuzione di codice nonostante il filtro sulle estensioni

Alcune build aggiungono un filtro lato server sui nomi dei file nell'archivio. Questo PoC aggira una comune implementazione con una catena a tre passaggi:

  1. Blocklist sensibile alle maiuscole. Il filtro rifiuta .php minuscolo, .phtml, .phar, .php3–.php8, .pht, .inc, … ma non normalizza le maiuscole, quindi .PHP (e altre varianti con maiuscole miste) e .htaccess passano.
  2. Gestore web server sensibile alle maiuscole. Un handler PHP predefinito di Apache (<FilesMatch "\.php$">) esegue solo .php minuscolo, quindi un .PHP caricato viene inizialmente servito come testo sorgente, non eseguito.
  3. Override tramite .htaccess. Un .htaccess (che la blocklist non blocca) contenente AddType application/x-httpd-php .PHP viene depositato insieme al payload. Dove AllowOverride lo permette, questo registra .PHP come PHP e la shell caricata viene eseguita.

Il PoC impacchetta sempre una struttura valida di font icona (selection.json, style.css, fonts/<nome>.ttf) in modo che il caricamento sia accettato, quindi aggiunge la shell.

Adattivo — percorre una lista di estensioni eseguibili PHP (prima quelle con minore impronta), poi un fallback .htaccess, e si ferma al primo che esegue effettivamente codice:

  1. Caricamenti diretti di singoli file — fonts/<shell>.<ext> per ciascuna di php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php. Nessun .htaccess. Diversi filtri di SP Page Builder bloccano insiemi diversi, e diverse configurazioni Apache eseguono estensioni diverse — quindi questo trova qualsiasi combinazione che il target permette ed esegue.
  2. fonts/.htaccess + fonts/<shell>.PHP (fallback) — solo se ogni tentativo diretto fallisce. Il .htaccess depositato (AddType … .PHP) forza l'esecuzione di un .PHP maiuscolo dove AllowOverride lo permette (è ciò di cui hanno bisogno gli host in stile 5.4.6).

Si ferma al primo metodo che esegue e stampa quale è atterrato. Ogni caricamento accettato viene tracciato, quindi --cleanup rimuove tutti (tentativi multipli possono lasciare directory scrivibili ma vuote).

A seconda della versione e dell'indurimento del server il risultato varia, e il PoC lo dichiara esplicitamente (vedi Risultati sotto): RCE completa, solo scrittura file (PHP disabilitato / AllowOverride None), corretto (solo admin), o non vulnerabile.

Requisiti

root@kitploit:~
pip install -r requirements.txt   # requests

Utilizzo

root@kitploit:~
# conferma la vulnerabilità e prova l'esecuzione di codice (esegue `id`)
python3 sppb_rce.py https://target.example

# esegue un comando specifico
python3 sppb_rce.py --url target.example -c "uname -a"

# pseudo-shell interattiva
python3 sppb_rce.py https://target.example --shell

# solo verifica; nessun comando
python3 sppb_rce.py https://target.example --check

# rimuove la directory del payload caricato dopo
python3 sppb_rce.py https://target.example --cleanup

Il target può essere fornito come argomento posizionale o tramite --url, con o senza schema.

Esempio (anonimizzato)

root@kitploit:~
[*] target   : https://target.example
[*] endpoint : index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
[*] try .php            -> rejected by filter
[*] try .php3           -> rejected by filter
...
[*] try .PHP            -> uploaded, not executed
[*] try .htaccess+.PHP  -> EXECUTED
[+] CODE EXECUTION CONFIRMED via '.htaccess+.PHP' (echo 7*6 -> 42)
[*] running: id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
------------------------------------------------------------
[*] cleanup: done (4 dirs)

Risultati (e codici di uscita)

Il PoC comunica sempre il verdetto per il target:

OutputSignificatoUscita
CODE EXECUTION CONFIRMED via '<method>'Vulnerabile — RCE completa non autenticata0
[~] PARTIALLY VULNERABLE — unauth file-write works, but PHP did NOT executeSolo scrittura file (AllowOverride None / PHP disabilitato in /media)3
[-] TARGET NOT VULNERABLE — SP Page Builder is patched (6.6.2+)Corretto — il caricamento ora richiede autenticazione admin1
[-] TARGET NOT VULNERABLE — every upload was rejected, or SP Page Builder is absent/patchedNon sfruttabile / componente assente2

Caratteristiche di sicurezza

  • La shell web depositata è protetta da un token per-run casuale e restituisce 404 a chiunque non lo possieda — non è una backdoor aperta a tutti.
  • --cleanup elimina la directory del payload creata.
  • Le azioni predefinite sono innocue (id, un marker aritmetico).

Mitigazione

  1. Aggiornare SP Page Builder alla versione 6.6.2 o successiva (aggiunge controlli di autenticazione, autorizzazione e CSRF al task di caricamento). Questa è la correzione principale.
  2. Difesa in profondità sul web server:
    • Disabilitare l'esecuzione di PHP nelle directory di upload (/media/, /images/, /tmp) tramite il pool FPM o php_admin_flag engine off.
    • Impostare AllowOverride None su quelle directory in modo che un .htaccess depositato non possa riabilitare gli handler.
    • Utilizzare una whitelist case-insensitive per le estensioni di upload, mai una blacklist.
  3. Verifica post-breach: cercare .php/.PHP inaspettati sotto media/.../iconfont/, nuovi account Super User e file manager piantati.

Riferimenti

  • NVD — CVE-2026-48908
  • CVE.org record — CVE-2026-48908
  • Articolo tecnico — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • Vendor — JoomShaper SP Page Builder (fix di sicurezza nella 6.6.2)
  • SP Page Builder — Joomla Extensions Directory

Parole chiave

Joomla SP Page Builder exploit · com_sppagebuilder RCE non autenticata · CVE-2026-48908 PoC · asset.uploadCustomIcon upload file arbitrario · Joomla remote code execution · script exploit pentest.

DISCLAIMER

Questo software è pubblicato solo per scopi educativi e test di sicurezza autorizzati — ad esempio test di penetrazione per i quali si dispone di autorizzazione scritta, programmi bug-bounty che includono il target nello scope, competizioni CTF e propri sistemi di laboratorio.

Accedere, modificare o interrompere sistemi informatici senza autorizzazione è illegale nella maggior parte delle giurisdizioni. Sei l'unico e intero responsabile delle tue azioni. Usando, scaricando o distribuendo questo codice accetti che:

  • lo utilizzerai solo contro sistemi di tua proprietà o per i quali hai esplicita e documentata autorizzazione al test;
  • gli autori e i contributori non si assumono alcuna responsabilità per danni, perdita di dati, interruzione del servizio o conseguenze legali derivanti dall'uso o dall'abuso di questo codice;
  • questo materiale è fornito "COSÌ COM'È", senza garanzie di alcun tipo, esplicite o implicite.

Se non accetti questi termini, non utilizzare questo software. Come per qualsiasi exploit/PoC pubblicamente disponibile, viene condiviso in buona fede per aiutare i difensori a rilevare, comprendere e correggere la vulnerabilità; ciò che ne fai è affar tuo.

Licenza

MIT — vedi LICENSE.

Scarica lo strumento