
XML External Entity (XXE) injection is an attack against applications that parse XML input. If the XML parser is configured to process external entities, an attacker can make it read local files, send requests to internal systems, or exhaust server resources.
XML documents can include a Document Type Definition (DTD), and a DTD can declare entities: named values that are substituted into the document. An external entity takes its value from a URL or a file path. If an attacker can supply XML containing an external entity that points to a file such as a password file, the parser loads that file and the application may return its contents.
XXE can also be used to make the server send requests to internal addresses (server-side request forgery) and, with nested entities, to cause denial of service.
DOCTYPE declaration if you do not need one.Disable external entities and DTD processing in your XML parser; most modern libraries support this with a single setting.
Yes. An external entity can point to an internal URL, making the server fetch it.
Try Vooki Pro free for 7 days
Check every XML endpoint for XXE. The trial unlocks every feature for 7 days, and scanning runs on your own machine.
Related: Server-side request forgery (SSRF) and cloud metadata attacks · Insecure deserialization