
Prova di concetto che dimostra la vulnerabilità XXE in JetBrains Ktor < 2.3.5 tramite ContentNegotiation XML, con linee guida di prevenzione e analisi basata su OWASP.
In JetBrains Ktor precedente alla 2.3.5, la configurazione predefinita di ContentNegotiation con formato XML era vulnerabile a XXE.
La vulnerabilità è stata corretta da @marychatte il 29 settembre 2023 (https://github.com/ktorio/ktor/pull/3770), ed è stata causata da un attacco alla supply chain basato su una configurazione errata nella libreria esterna xmlutil version 0.86.1.

In base alla guida OWASP (https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html#xmlinputfactory-a-stax-parser) , la correzione non è abbastanza completa, ho trovato una risposta interessante qui (https://security.stackexchange.com/questions/260956/java-xxe-vulnerability) : L'obiettivo principale è disabilitare i DTD, che rappresenta sostanzialmente la difesa primaria contro questo attacco.
