
Proof-of-Concept, das eine XXE-Schwachstelle in JetBrains Ktor < 2.3.5 über XML ContentNegotiation demonstriert, mit Präventionsrichtlinien und OWASP-basierter Analyse.
In JetBrains Ktor vor Version 2.3.5 war die Standardkonfiguration von ContentNegotiation mit XML-Format anfällig für XXE.
Die Schwachstelle wurde von @marychatte am 29. September 2023 behoben (https://github.com/ktorio/ktor/pull/3770). Die Schwachstelle wurde durch einen Lieferkettenangriff verursacht, der auf einer Fehlkonfiguration in der externen Bibliothek xmlutil version 0.86.1 basierte.

Basierend auf dem OWASP-Leitfaden (https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html#xmlinputfactory-a-stax-parser) ist der Fix nicht umfassend genug. Ich habe hier eine interessante Antwort gefunden (https://security.stackexchange.com/questions/260956/java-xxe-vulnerability): Das Hauptziel ist es, DTDs zu deaktivieren. Dies stellt im Wesentlichen die primäre Abwehr gegen diesen Angriff dar.

