Bug 1108639 (CVE-2014-3004)

Summary: CVE-2014-3004 castor: XML External Entity (XXE) attacks via a crafted XML document
Product: [Other] Security Response Reporter: Vasyl Kaigorodov <vkaigoro>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: andjrobins, bazulay, bmcclain, chazlett, dblechte, gklein, grocha, idith, iheim, java-maint, jbpapp-maint, jrusnack, lsurette, michal.skrivanek, mmcgrath, pavelp, pcheung, rbalakri, Rhev-m-bugs, soa-p-jira, srevivo, weli, ykaul, ylavi
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: castor 1.3.3, castor-xml 1.3.3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-12 23:25:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1108691, 1108769, 1108770, 1132287, 1132288    
Bug Blocks: 1108643    

Description Vasyl Kaigorodov 2014-06-12 11:14:05 UTC
It was discovered [1] that the Castor library's unmarshalling class is susceptible to XML External Entity (XXE) attacks.
If the XML that is being passed to the unmarshalling function is controllable by an
end user, there is the potential that they could retrieve local resources,
download malicious code from other servers, and/or open arbitrary TCP
connections.

[1]: http://seclists.org/fulldisclosure/2014/May/142

Comment 1 Vasyl Kaigorodov 2014-06-12 12:42:44 UTC
Created castor tracking bugs for this issue:

Affects: fedora-all [bug 1108691]

Comment 5 Vincent Danen 2014-06-12 20:02:23 UTC
Statement:

This issue affects the version of castor as shipped with Red Hat Enterprise Linux 5 and 6. The Red Hat Security Response Team has rated this issue as having Moderate security impact. A future update may address this issue. For additional information, refer to the Issue Severity Classification: https://access.redhat.com/security/updates/classification/.

Red Hat JBoss SOA Platform 4 is now in Phase 3, Extended Life Support, of its life cycle. This issue has been rated as having Moderate security impact and is not currently planned to be addressed in future updates. For additional information, refer to the Red Hat JBoss Middleware and Red Hat JBoss Operations Network Product Update and Support Policy: https://access.redhat.com/support/policy/updates/jboss_notes/


Fuse ESB Enterprise 7 is now in Maintenance Support phase receiving only qualified Important and Critical impact security fixes. This issue has been rated as having Moderate security impact and is not currently planned to be addressed in future updates. For additional information, refer to the Fuse Product Life Cycle: https://access.redhat.com/support/policy/updates/fusesource/

Comment 6 Arun Babu Neelicattu 2014-08-21 04:38:17 UTC
Upstream Issue:

None

Upstream Commits:

https://fisheye.codehaus.org/changelog/castor?cs=9197

Comment 8 Arun Babu Neelicattu 2014-08-21 06:34:05 UTC
Victims Record:

https://github.com/victims/victims-cve-db/blob/master/database/java/2014/3004.yaml

Comment 9 Arun Babu Neelicattu 2014-08-21 10:52:35 UTC
Mitigation:

"A configuration file in the Java library directory (e.g. /jdk1.2/lib) can be used to override the default configuration file with system-wide properties. In addition, a configuration file can be placed in the classpath and will override both the system wide properties and Castor-default configuration." [1]

Adding the following content in any of the above mentioned configuration files will act as a viable mitigation against this flaw. 

> org.exolab.castor.sax.features=\
>   http://apache.org/xml/features/disallow-doctype-decl
> 
> org.exolab.castor.sax.features-to-disable=\
>   http://xml.org/sax/features/external-general-entities,\
>   http://xml.org/sax/features/external-parameter-entities,\
>   http://apache.org/xml/features/nonvalidating/load-external-dtd

Note that using this configuration after upgrading to a version of Castor containing a fix for this issue might override any future hardening or changes to default behavior.

[1] http://castor.codehaus.org/conf-lib.html

Comment 11 Fedora Update System 2014-12-15 04:35:53 UTC
castor-1.3.3-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2014-12-15 04:36:20 UTC
castor-1.3.3-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.