1. Impact
The Java Runtime Environment (JRE) by default allows external entity references to be processed. To turn off processing of external entity references, sites can set the "external general entities" property to FALSE. This property is provided since it may be possible to leverage the processing of external entity references to access certain URL resources (such as some files and web pages) or create a Denial of Service (DoS) condition on the system running the JRE. A defect in the JRE allows external entity references to be processed even when the "external general entities" property is set to FALSE.
For this vulnerability to be exploited, a trusted application needs to process XML data that contains malicious content. This vulnerability cannot be exploited through an untrusted applet or untrusted Java Web Start application.
Sun acknowledges with thanks, Chris Evans and Johannes Henkel of the Google Security Team for bringing this issue to our attention.
2. Contributing Factors
This issue can occur in the following releases (for all supported platforms):
- JDK and JRE 6 Update 3 and earlier
Note: JDK and JRE 5.0, and SDK and JRE 1.4.x and 1.3.x are not affected by this issue.
To determine the default version of the JRE on a system for Solaris and Linux, the following command can be run:
% java -version
Note: The above command only determines the default version. Other versions may also be installed on the system.
To determine the default version of the JRE on a system for Windows:
- Click "Start"
- Select "Run"
- Type "cmd" (starts a command-line)
- At the prompt, type "java -version"
Note: The above command only determines the default version. Other versions may also be installed on the system.
3. Symptoms
There are no predictable symptoms that would indicate the described issue has been exploited.
4. Relief/Workaround
There is no workaround for this issue. Please see the Resolution section below.
5. Resolution
This issue is addressed in the following releases (for all supported platforms):
- JDK and JRE 6 Update 4 or later
JDK and JRE 6 Update 4 is available for download at the following link:
http://java.sun.com/javase/downloads/index.jsp
JDK 6 Update 4 for Solaris is also available in the following patches:
- Java SE 6 update 4 (as delivered in patch 125136-05 or later)
- Java SE 6 update 4 (as delivered in patch 125137-05 or later (64bit))
- Java SE 6 x86 update 4 (as delivered in patch 125138-05 or later)
- Java SE 6 x86 update 4 (as delivered in patch 125139-05 or later (64bit))
Note: The "external general entities" property needs to be set to FALSE to prevent the processing of external entity references. The property can be set by calling the setFeature method on a factory instance for DOM and SAX:
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
Note: When installing a new version of the product from a source other than a Solaris patch, it is recommended that the old affected versions be removed from your system. To remove old affected versions on the Windows platform, please see:
http://java.com/en/download/help/uninstall_java.xml
For more information on Security Sun Alerts, see Sun Infodoc 91209.
This Sun Alert notification is being provided to you on an "AS IS" basis. This Sun Alert notification may contain information provided by third parties. The issues described in this Sun Alert notification may or may not impact your system(s). Sun makes no representations, warranties, or guarantees as to the information contained herein. ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. BY ACCESSING THIS DOCUMENT YOU ACKNOWLEDGE THAT SUN SHALL IN NO EVENT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES THAT ARISE OUT OF YOUR USE OR FAILURE TO USE THE INFORMATION CONTAINED HEREIN. This Sun Alert notification contains Sun proprietary and confidential information. It is being provided to you pursuant to the provisions of your agreement to purchase services from Sun, or, if you do not have such an agreement, the Sun.com Terms of Use. This Sun Alert notification may only be used for the purposes contemplated by these agreements.
Copyright 2000-2008 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved.