Alvaro Munoz discovered a XML External Entity (XXE) injection in the
Spring Framework which can be used for conducting CSRF and DoS attacks
on other sites.
The Spring OXM wrapper did not expose any property for disabling entity
resolution when using the JAXB unmarshaller. There are four possible
source implementations passed to the unmarshaller:
For a DOMSource, the XML has already been parsed by user code
and that code is responsible for protecting against XXE.
For a StAXSource, the XMLStreamReader has already been created
by user code and that code is responsible for protecting
For SAXSource and StreamSource instances, Spring processed
external entities by default thereby creating this
The issue was resolved by disabling external entity processing
by default and adding an option to enable it for those users
that need to use this feature when processing XML from a
It was also identified that Spring MVC processed user provided
XML with JAXB in combination with a StAX XMLInputFactory
without disabling external entity resolution. External entity
resolution has been disabled in this case.
For the stable distribution (wheezy), this problem has been fixed in
For the unstable distribution (sid), this problem has been fixed in
We recommend that you upgrade your libspring-java packages.
Further information about Debian Security Advisories, how to apply
these updates to your system and frequently asked questions can be
found at: https://www.debian.org/security/
Mailing list: [email protected]
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Debian Security Advisory DSA-2842-1 [email protected]
https://www.debian.org/security/ Markus Koschany
January 13, 2014 https://www.debian.org/security/faq
Vulnerability : denial of service
Problem type : remote