
Questo repo descrive la cve-2021-29447 e include un piccolo script per sfruttarla automaticamente.
Questo repository descrive la vulnerabilità CVE-2021-29447, un grave difetto di sicurezza in WordPress che consentiva attacchi XXE (External Entity) autenticati tramite la libreria multimediale. Fornisce anche uno script automatico che dimostra il proof of concept (PoC).
La vulnerabilità risiedeva nell'elaborazione dei metadati all'interno dei file audio caricati da WordPress. Nello specifico:
Causa principale: WordPress utilizza la libreria getID3 per analizzare i metadati da file multimediali come i file WAV. Un file WAV può contenere un blocco di dati XML chiamato iXML. Gli attaccanti potevano creare un file WAV dannoso con contenuto XML che, una volta analizzato dalla libreria vulnerabile, attiva un attacco XXE.
Versioni interessate: WordPress versioni da 5.6 a 5.7.
Requisito chiave: L'installazione di WordPress deve essere in esecuzione su PHP 8, poiché le modifiche nella configurazione predefinita di Libxml2 in PHP 8 erano fondamentali per lo sfruttamento.
Impatto: Uno sfruttamento riuscito potrebbe portare alla divulgazione arbitraria di file (ad esempio, leggere wp-config.php per ottenere le credenziali del database) e a Server-Side Request Forgery (SSRF)
Di seguito è riportato lo snippet di codice che tenta di analizzare i dati XML nel subchunk iXML:
Automatizza l'intero processo: Crea il file WAV e DTD malevoli, gestisce il caricamento del file sul sito WordPress target e configura un listener per ricevere i dati esfiltrati.
Configurabile: Consente di specificare il percorso del file target per l'esfiltrazione.
./payload.sh