XML Parsing Vulnerability affecting JRuby users
There is a vulnerability in the JDOM backend to ActiveSupport's XML parser. This could allow an attacker to perform a denial of service attack or gain access to files stored on the application server. This vulnerability has been assigned the CVE identifier CVE-2013-1856.
Versions Affected: 3.0.0 and All Later Versions when using JRuby
Not affected: Applications not using JRuby or JRuby applications not using the JDOM backend.
Fixed Versions: 3.2.13, 3.1.12
The ActiveSupport XML parsing functionality supports multiple pluggable backends. One backend supported for JRuby users is ActiveSupport::XmlMini_JDOM which makes use of the javax.xml.parsers.DocumentBuilder class.
In some JVM configurations the default settings of that class can allow an attacker to construct XML which, when parsed, will contain the contents of arbitrary URLs including files from the application server. They may also allow for various denial of service attacks.
If you are using JRuby and have an affected JVM, you should upgrade or use one of the work arounds immediately.
The 3.2.13 and 3.1.12 releases are available at the normal locations.
If you are unable to upgrade, you can place this code in an application initializer to prevent this issue:
To aid users who aren't able to upgrade immediately we have provided patches for the two supported release series. They are in git-am format and consist of a single changeset.
* 3-2-jdom.patch - Patch for 3.2 series
* 3-1-jdom.patch - Patch for 3.1 series
* 3-0-jdom.patch - Patch for 3.0 series
Please note that only the 3.1.x and 3.2.x series are supported at present. Users of earlier unsupported releases are advised to upgrade as soon as possible as we cannot guarantee the continued availability of security fixes for unsupported releases.
Thanks to Ben Murphy for reporting this vulnerability to us and working with us to inform other affected libraries and programming languages.