XML external entity (XXE) (ARCH329)
Key dotnet.security.xxe · Severity error · Category security · CWE CWE-611
XML parsers that leave DTD and external entity processing enabled let attackers read local files, perform SSRF, or launch denial-of-service attacks.
Incorrect
Section titled “Incorrect”var settings = new XmlReaderSettings{ DtdProcessing = DtdProcessing.Parse, XmlResolver = new XmlUrlResolver()};using var reader = XmlReader.Create(input, settings);Correct
Section titled “Correct”var settings = new XmlReaderSettings{ DtdProcessing = DtdProcessing.Prohibit, XmlResolver = null};using var reader = XmlReader.Create(input, settings);Set DtdProcessing to Prohibit and set XmlResolver to null to block external entity resolution.