#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 . 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 http://www.ocert.org 0x864C9B9E 0A76 074A 02CD E989 CE7F AC3F DA47 578E 864C 9B9E "Pluralitas non est ponenda sine necessitate"