#2014-002 Xalan-Java insufficient secure processing
Description:
The Xalan-Java library is a popular XSLT processor from the Apache Software
Foundation.
The library implements the Java API for XML Processing (JAXP) which supports a
secure processing feature for interpretive and XSLCT processors. The intent of
this feature is to limit XSLT/XML processing behaviours to "make the XSLT
processor behave in a secure fashion".
It has been discovered that the secure processing features suffers from several
limitations that undermine its purpose. The enabling of the secure processing
feature in fact still allows the following processing to take place:
* Java properties, bound to XSLT 1.0 system-property(), are accessible.
* output properties that allow to load arbitrary classes or resources
are allowed (XALANJ-2435).
* arbitrary code can be executed if the Bean Scripting Framework (BSF)
is in the classpath, as it allows to spawn available JARs with secure
processing disabled, effectively bypassing the intended protection.
Affected version:
Xalan-Java >= 2.7.0
Fixed version:
Xalan-Java >= r1581058 (see references)
Credit: vulnerability report received from Nicolas Gregoire
<nicolas.gregoire AT agarri.fr>.
CVE: CVE-2014-0107
Timeline:
2014-02-05: vulnerability report received
2014-02-05: reporter provides disclosure date set to 2014-03-21
2014-02-06: contacted Apache Security Team
2014-03-17: maintainer provides patch for review
2014-03-17: reporter confirms patch
2014-03-21: assigned CVE
2014-03-24: maintainer commits patch
2014-03-24: advisory release
References:
http://xml.apache.org/xalan-j
https://issues.apache.org/jira/browse/XALANJ-2435
http://svn.apache.org/viewvc?view=revision&revision=1581058
Permalink:
http://www.ocert.org/advisories/ocert-2014-002.html
--
Andrea Barisani | Founder & Project Coordinator
oCERT | OSS Computer Security Incident Response Team
<lcars@ocert.org> http://www.ocert.org
0x864C9B9E 0A76 074A 02CD E989 CE7F AC3F DA47 578E 864C 9B9E
"Pluralitas non est ponenda sine necessitate"