
Prueba de concepto que demuestra la vulnerabilidad XXE en JetBrains Ktor < 2.3.5 mediante ContentNegotiation XML, con pautas de prevención y análisis basado en OWASP.
En JetBrains Ktor anterior a 2.3.5, la configuración predeterminada de ContentNegotiation con formato XML era vulnerable a XXE.
La vulnerabilidad fue corregida por @marychatte el 29 de septiembre de 2023 (https://github.com/ktorio/ktor/pull/3770); la vulnerabilidad fue causada por un ataque a la cadena de suministro basado en una mala configuración en la librería externa xmlutil versión 0.86.1.

Basado en la guía de OWASP (https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html#xmlinputfactory-a-stax-parser), la corrección no es lo suficientemente completa; encontré una respuesta interesante aquí (https://security.stackexchange.com/questions/260956/java-xxe-vulnerability): El objetivo principal es deshabilitar las DTD; básicamente consiste en la defensa principal contra este ataque.
