CVE-2017-3539: Low severity Oracle JDK vulnerability
It was discovered that the Security component of OpenJDK did not allow users to restrict the set of algorithms allowed for Jar integrity verification. This flaw could allow an attacker to modify content of the Jar file that used weak signing key or hash algorithm.
This problem was originally addressed as part of October 2016 CPU as CVE-2016-5542 (bug 1385723). In that update, the following changes were made:
- New security property jdk.jar.disabledAlgorithms was introduced, which can be used to restrict which algorithms can be used for jar verification.
- MD2 hash algorithm and RSA keys with less than 1024 bits were disabled by default.
At the same time, it was announced that the MD5 has algorithm was going to be disabled in the future updates. It was originally planned to get disabled as part of the January 2017 CPU, but the change was further postponed to the April 2017 CPU. Hence, MD5 is now becoming disabled by default.
The further details of the planned cryptography changes are available on the "Oracle JRE and JDK Cryptographic Roadmap" page:
https://www.java.com/en/jre-jdk-cryptoroadmap.html
Other sources
Vulnerability in the Java SE, Java SE Embedded component of Oracle Java SE (subcomponent: Security). Supported versions that are affected are Java SE: 6u141, 7u131 and 8u121; Java SE Embedded: 8u121. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Java SE, Java SE Embedded. Successful attacks require human interaction from a person other than the attacker. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Java SE, Java SE Embedded accessible data. Note: This vulnerability applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. This vulnerability does not apply to Java deployments, typically in servers, that load and run only trusted code (e.g., code installed by an administrator). CVSS 3.0 Base Score 3.1 (Integrity impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N).
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Java SEto a version that resolves this vulnerability.Fixed in 6u141 - Upgrade
Upgrade
Java SEto a version that resolves this vulnerability.Fixed in 7u131 - Upgrade
Upgrade
Java SEto a version that resolves this vulnerability.Fixed in 8u121 - Upgrade
Upgrade
Java SE Embeddedto a version that resolves this vulnerability.Fixed in 8u121 - Configuration
Configure the Java Security property jdk.jar.disabledAlgorithms to restrict which cryptographic algorithms are permitted for Jar integrity verification.
OpenJDK (Security / jar verification) jdk.jar.disabledAlgorithms = (set to restrict allowed algorithms for Jar integrity verification; enable algorithm restrictions using jdk.jar.disabledAlgorithms)
Event History
Frequently Asked Questions
What is the severity of CVE-2017-3539?
CVE-2017-3539 is rated as a difficult to exploit vulnerability, posing a significant risk to affected Oracle Java SE components.
How do I fix CVE-2017-3539?
To fix CVE-2017-3539, update to the latest version of Oracle Java SE provided for your affected version.
Which versions of Oracle Java are affected by CVE-2017-3539?
CVE-2017-3539 affects Oracle Java SE versions 6u141, 7u131, and 8u121, as well as Java SE Embedded 8u121.
Can CVE-2017-3539 be exploited remotely?
Yes, CVE-2017-3539 can potentially be exploited by an unauthenticated attacker with network access.
What components are impacted by CVE-2017-3539?
CVE-2017-3539 impacts the Security subcomponent of Oracle Java SE and Java SE Embedded.