
Este repositorio describe cve-2021-29447 y un pequeño script para explotar automáticamente.
Este repositorio detalla la vulnerabilidad CVE-2021-29447, un fallo de seguridad crítico en WordPress que permitía ataques de Entidad Externa XML (XXE) autenticados a través de la Biblioteca de Medios. También proporciona un script automático que demuestra la prueba de concepto (PoC).
La vulnerabilidad existía en el procesamiento de metadatos dentro de archivos de audio subidos por WordPress. Específicamente:
Causa raíz: WordPress utiliza la librería getID3 para analizar metadatos de archivos multimedia como archivos WAV. Un archivo WAV puede contener un fragmento de datos XML llamado iXML. Los atacantes podían crear un archivo WAV malicioso con contenido XML que, al ser analizado por la librería vulnerable, desencadenaba un ataque XXE.
Versiones afectadas: WordPress versiones 5.6 a 5.7.
Requisito clave: La instalación de WordPress debe ejecutarse en PHP 8, ya que los cambios en la configuración predeterminada de Libxml2 en PHP 8 fueron esenciales para la explotación.
Impacto: La explotación exitosa podía llevar a la divulgación arbitraria de archivos (por ejemplo, leer wp-config.php para obtener credenciales de la base de datos) y a la Falsificación de Solicitudes del Lado del Servidor (SSRF).
A continuación, el fragmento de código que intenta analizar datos XML en el subchunk iXML:
Automatiza todo el proceso: crea el archivo WAV malicioso y el DTD, maneja la subida de archivos al sitio WordPress objetivo y configura un listener para recibir los datos exfiltrados.
Configurable: permite especificar la ruta del archivo objetivo para la exfiltración.
./payload.sh