High severityPythonXML External Entities (XXE)HIGH confidence
Lxml XXE Resolve Entities
lxml XMLParser configured with resolve_entities=True (or no_network=False) is vulnerable to XML External Entity attacks (CWE-611), enabling file disclosure and SSRF.
Standards mapping
- OWASP Top 10
- A05:2021 - Security Misconfiguration
- OWASP ASVS
- V5.5.2 (L1)
Vulnerable vs. safe
Flagged by this check
parser = etree.XMLParser(resolve_entities=True)Passes - the safe pattern
parser = etree.XMLParser(resolve_entities=False, no_network=True, load_dtd=False)Why it matters & how to fix it
lxml XMLParser configured with resolve_entities=True (or no_network=False) is vulnerable to XML External Entity attacks (CWE-611), enabling file disclosure and SSRF. Create the parser with resolve_entities=False, no_network=True, and load_dtd=False, or use defusedxml.
References
Rule ID integsec-python-lxml-xxe-resolve-entities - 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)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
- C# - XML External Entities (XXE)Dtdprocessing Parse