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-66492 — L'estensione Joomla PhocaCommander è vulnerabile a Path Traversal nell'azione di caricamento dei file. | Kitploit
Strumenti/GitHubGitHub/toanln-cov/cve-2026-66492
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration Testing
GitHubtoanln-cov/cve-2026-66492

CVE-2026-66492

L'estensione Joomla PhocaCommander è vulnerabile a Path Traversal nell'azione di caricamento dei file.

Vedi Repository
11 giorni 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

Path Traversal nella Destinazione di Upload dei File

PhocaCommander ≤ 6.1.3 — L'Admin Autenticato Scrive File Fuori dalla Webroot

CVE CVSS CWE-22 Affected Researcher


SOMMARIO

L'handler di upload dei file in PhocaCommander costruisce il percorso di destinazione a partire da un parametro folder codificato in base64 e controllabile dall'attaccante, senza alcuna validazione di contenimento del percorso. Un amministratore autenticato può caricare file in posizioni arbitrarie fuori dalla webroot, purché scrivibili dal processo del web server.

Confermato in laboratorio: caricando con folder=Li4vLi4vLi4vdG1w (= ../../../tmp) il file caricato viene posizionato in /tmp/ — fuori da /var/www/html/ — con proprietario www-data. In ambienti PHP-FPM di produzione, questa vulnerabilità può essere concatenata per ottenere l'esecuzione remota di codice.


VERSIONI VULNERABILI

COMPONENTEVULNERABILETESTATO SUCORRETTO
PhocaCommander1.0.0 – 6.1.3Joomla 5.4.7 + PhocaCommander 6.1.3 (PHP 8.2 / Apache)6.1.4

DETTAGLI DELLA VULNERABILITÀ

Autenticazione richiesta: Amministratore (sessione + token CSRF)

File: administrator/components/com_phocacommander/helpers/fileupload.php — realMultipleUpload()

Causa principale

realMultipleUpload() decodifica il parametro POST folder da base64 e lo passa direttamente a una concatenazione con Path::clean(), che viene poi usata come destinazione dell'upload senza alcun controllo di contenimento.

FILEUPLOAD.PHP — CODICE VULNERABILE

root@kitploit:~
$folder = $app->getInput()->get('folder', '', '', 'string');
$folder = base64_decode($folder);         // ← attacker-controlled

$path = JPATH_ROOT;                       // = /var/www/html

if (isset($folder) && $folder != '') {
    $pathFolder = Path::clean($path . '/' . $folder . '/');
    // e.g. Path::clean('/var/www/html/../../../tmp/')
    // = '/tmp/' — outside the webroot, no error thrown
}

// ...
File::upload($file['tmp_name'], $pathFolder . strtolower($file['name']));

Path::clean() normalizza i separatori di directory ma non risolve né rimuove le sequenze ../. Il percorso risultante viene passato direttamente a File::upload() senza alcun successivo controllo dei limiti.

Allowlist delle estensioni di upload

L'handler applica un'allowlist delle estensioni (immagini, documenti, archivi, file di testo) e blocca i tipi eseguibili dal server come .php e .htaccess. Tuttavia, molti tipi di file consentiti dalla whitelist — inclusi script di shell, definizioni di cron job e frammenti di configurazione — possono causare danni significativi se scritti in percorsi sensibili del sistema operativo.


PROOF OF CONCEPT

Scenario 1 — Scrittura arbitraria di file in /tmp tramite traversal nel parametro folder

1. Accedi al pannello di amministrazione di Joomla e ottieni il token CSRF

Autenticati tramite la pagina di login dell'admin. Recupera il token CSRF di Joomla da qualsiasi pagina di amministrazione: appare come campo nascosto del modulo oppure può essere estratto dal sorgente della pagina.

Richiesta GET per estrarre il token CSRF dal pannello di amministrazione

2. Carica un file con traversal nel parametro folder

Invia una richiesta POST multipart a POST /administrator/index.php?option=com_phocacommander&task=phocacommanderupload.multipleupload con il contenuto del file nel campo file e il percorso di traversal codificato in base64 Li4vLi4vLi4vdG1w (= ../../../tmp) nel campo folder. Il server risponde con HTTP 200 e {"jsonrpc":"2.0","result":"OK","code":200,"message":"Success: ","details":"Files uploaded"}.

RICHIESTA / RISPOSTA

Richiesta POST di upload con parametro folder di traversal e risposta 200 OK

3. Conferma che il file sia stato scritto in /tmp — fuori dalla webroot

Il file viene confermato in /tmp/upload_test.txt, con proprietario www-data, fuori da /var/www/html/.

Terminale con ls -la /tmp che mostra upload_test.txt di proprietà di www-data


IMPATTO

  1. Scrittura arbitraria di file fuori dalla webroot — qualsiasi percorso scrivibile da www-data può ricevere contenuti scelti dall'attaccante, inclusi percorsi usati dallo scheduler del sistema operativo, dal demone SSH e da altri servizi
  2. Potenziale RCE in ambienti PHP-FPM — il caricamento di un file .txt contenente codice PHP combinato con un .user.ini (auto_prepend_file) in una directory accessibile via web innesca l'esecuzione di PHP alla successiva richiesta verso quella directory

RIFERIMENTI

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66492
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66492
  • Repository del fornitore: https://github.com/PhocaDesign/PhocaCommander
Scarica lo strumento