XML External Entity (XXE) Vulnerability in libspring-java: Potential File Access and Denial of Service

libspring-java Updated 02 Oct 2025

Summary

26/01/2014
N/A
Yes i
Unrated
Not published

CVE-2013-6429: The SourceHttpMessageConverter in Spring MVC in Spring Framework before 3.2.5 and 4.0.0.M1 through 4.0.0.RC1 does not disable external entity resolution, which allows remote attackers to read arbitrary files, cause a den... Affects libspring-java versions < 3.0.6.RELEASE-11. Fixed in 3.0.6.RELEASE-11. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

libspring-java is a core component of the Spring Framework, widely used for building Java applications. It provides comprehensive infrastructure support for developing Java applications, including web applications. The framework is known for its flexibility, ease of use, and extensive features, such as dependency injection and aspect-oriented programming. However, certain versions of libspring-java are vulnerable to XML External Entity (XXE) attacks, which can lead to unauthorized file access and denial of service.

Vulnerability Detail

The vulnerability arises from the SourceHttpMessageConverter in Spring MVC, which does not disable external entity resolution in versions prior to 3.2.5 and 4.0.0.M1 through 4.0.0.RC1. This oversight allows remote attackers to exploit crafted XML payloads to read arbitrary files on the server, potentially leading to sensitive data exposure, denial of service, and Cross-Site Request Forgery (CSRF) attacks. The issue is classified as an XML External Entity (XXE) vulnerability, which is a common security flaw in XML parsers.

How To Fix

Minimum fixed version

3.0.6.RELEASE-11

This is the first release that contains the fix.

sudo apt-get install --only-upgrade libspring-java

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If upgrading is not immediately possible, consider disabling external entity processing in your XML parser configuration. This can typically be done by modifying the parser settings to prevent the resolution of external entities. For example, in Java, you can configure the XML parser as follows:

import javax.xml.parsers.DocumentBuilderFactory;

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);

This code snippet disables the processing of external entities.

Conclusion

The CVE-2013-6429 vulnerability in libspring-java poses significant risks, including unauthorized file access and denial of service. It is crucial to upgrade to a secure version or implement workarounds to mitigate these risks. Utilizing tools like Vulert can help monitor and manage vulnerabilities effectively.

See every vulnerability recorded for libspring-java →

Share this vulnerability

FAQ

An XXE attack occurs when an XML parser processes external entities, allowing attackers to read files on the server or perform denial of service attacks.

Versions of libspring-java prior to 3.2.5 and between 4.0.0.M1 and 4.0.0.RC1 are vulnerable.

You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Visit Vulert Scanner to check your application without any signup.

Exploitation of this vulnerability can lead to unauthorized file access, denial of service, and CSRF attacks, compromising the security of your application.

If an immediate upgrade is not feasible, implement workarounds by disabling external entity processing in your XML parser configuration.

Related vulnerabilities

Recent vulnerabilities recorded for libspring-java.

How To Fix

Minimum fixed version

3.0.6.RELEASE-11

This is the first release that contains the fix.

sudo apt-get install --only-upgrade libspring-java

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback