Scanner Python e proof-of-concept per CVE-2026-49049, una scrittura arbitraria di file in Joomla Helix3 che consente il caricamento di web shell PHP e l'esecuzione remota di codice.
Questo repository contiene uno scanner basato su Python e un proof-of-concept per una vulnerabilità nel componente Joomla Helix3. Il bug è un problema di scrittura arbitraria di file che può portare all'esecuzione di codice in remoto (RCE) quando un attaccante è in grado di scrivere un payload PHP in una posizione accessibile via web.
Il comportamento vulnerabile si verifica quando un parametro di richiesta viene utilizzato per controllare un percorso di file o il contenuto di un file senza una corretta validazione. Nel caso dell'interfaccia AJAX di Helix3, l'endpoint accetta dati che possono essere utilizzati per scrivere file sul filesystem del server. Se l'applicazione non limita il percorso di destinazione e non verifica il contenuto, un attaccante può creare uno script PHP malevolo in una posizione che il web server esegue.
In altre parole, la vulnerabilità non è semplicemente "è possibile scrivere un file" — è una catena pericolosa:
Questo è un classico scenario di scrittura arbitraria di file che porta a una web shell.
Una volta che un attaccante può scrivere un file PHP nella root del sito o in un'altra directory eseguibile, può:
L'impatto è grave perché consente a un attaccante di trasformare un semplice difetto di scrittura di file in un compromissione completa del server.
Il problema alla radice è tipicamente simile a questa logica:
$file = $_POST['layoutName'];
$content = $_POST['content'];
file_put_contents($file, $content);
Se il valore di $file è controllato dall'attaccante e il percorso non è limitato, l'applicazione può scrivere codice PHP in un percorso eseguibile. Lo script malevolo è quindi disponibile al browser e può essere eseguito dal web server.
Questo progetto include uno strumento Python multi-thread che tenta di:
Registra i target vulnerabili in results.txt e memorizza l'output PHP grezzo in raw_result.txt.
La correzione dovrebbe eliminare le scritture di file non attendibili e imporre una validazione rigorosa. Di seguito sono riportati i passaggi di remediation consigliati.
Aggiornare Joomla e il componente/plugin Helix3 all'ultima versione stabile. Gli aggiornamenti di sicurezza spesso rimuovono o limitano l'endpoint vulnerabile che consente operazioni di scrittura arbitraria.
Se la funzionalità AJAX di Helix3 non è necessaria, disabilitarla completamente. Rimuovere l'accesso all'endpoint non sicuro riduce significativamente la superficie di attacco.
Non consentire percorsi arbitrari del filesystem. L'applicazione dovrebbe consentire scritture solo all'interno di una piccola directory fissa che non sia accessibile pubblicamente e non venga eseguita come PHP.
La validazione dovrebbe rifiutare:
../Prima di scrivere qualsiasi file:
Solo gli amministratori fidati dovrebbero essere autorizzati a utilizzare endpoint che scrivono file. Richiedere controlli di autenticazione e autorizzazione adeguati prima di accettare qualsiasi richiesta di scrittura.
Non scrivere mai contenuto grezzo controllato dall'attaccante in file eseguibili senza una validazione rigorosa. Inoltre, l'hardening del server dovrebbe includere:
requestsCreare un file contenente gli URL target, ad esempio targets.txt:
http://example.com
https://joomla-site.local
http://127.0.0.1
Poi eseguire:
python3 cve-2026-49049.py targets.txt
Lo script creerà:
results.txt — URL vulnerabili rilevatiraw_result.txt — payload PHP grezzi osservati durante i testQuesto progetto è destinato a scopi educativi, ricerca di sicurezza legittima e valutazione autorizzata delle vulnerabilità. Non deve essere utilizzato contro sistemi senza esplicita autorizzazione. L'uso improprio è severamente vietato.
Il contenuto di questo repository è fornito per aiutare ricercatori e amministratori a comprendere, identificare e correggere un problema di sicurezza reale. Usalo in modo responsabile e solo in ambienti controllati in cui disponi dell'autorizzazione appropriata.