High severityC#XML External Entities (XXE)HIGH confidence
Xmlresolver Nonnull
An XmlDocument/XmlReaderSettings is given a live XmlUrlResolver, so external DTDs and entities are fetched and resolved, exposing XXE injection and SSRF (CWE-611).
Standards mapping
- OWASP Top 10
- A05:2021 - Security Misconfiguration
- OWASP ASVS
- V5.5.2 (L1)
Vulnerable vs. safe
Flagged by this check
doc.XmlResolver = new XmlUrlResolver();Passes - the safe pattern
doc.XmlResolver = null;Why it matters & how to fix it
An XmlDocument/XmlReaderSettings is given a live XmlUrlResolver, so external DTDs and entities are fetched and resolved, exposing XXE injection and SSRF (CWE-611). Set XmlResolver = null (the safe default in modern .NET) before loading untrusted XML.
References
Rule ID integsec.csharp.xxe.xmlresolver-nonnull - engine: Opengrep - license: MIT - Copyright (c) IntegSec Inc.
TurboPentest runs this check automatically
Connect a GitHub repo and this check runs on every white-box pentest - AI-validated and reported with proof, from $99 per target.
Start a pentestRelated checks
- Python - XML External Entities (XXE)Lxml XXE Resolve Entities
- Python - XML External Entities (XXE)XML Etree Parse Untrusted
- Java - XML External Entities (XXE)XXE Documentbuilderfactory
- Java - XML External Entities (XXE)XXE Saxparserfactory
- Java - XML External Entities (XXE)XXE Transformerfactory
- Java - XML External Entities (XXE)XXE Xmlinputfactory