oCERT-2014-002 Xalan-Java insufficient secure processing
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.
Xalan-Java >= 2.7.0
Xalan-Java >= r1581058 (see references)
Credit: vulnerability report received from Nicolas Gregoire <nicolas.gregoire AT agarri.fr>.
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