CVE-2018-2794

Published: 18 April 2018

Vulnerability in the Java SE, JRockit component of Oracle Java SE (subcomponent: Security). Supported versions that are affected are Java SE: 6u181, 7u171, 8u162, 10 and JRockit: R28.3.17. Difficult to exploit vulnerability allows unauthenticated attacker with logon to the infrastructure where Java SE, JRockit executes to compromise Java SE, JRockit. Successful attacks require human interaction from a person other than the attacker and while the vulnerability is in Java SE, JRockit, attacks may significantly impact additional products. Successful attacks of this vulnerability can result in takeover of Java SE, JRockit. Note: Applies to client and server deployment of Java. This vulnerability can be exploited through sandboxed Java Web Start applications and sandboxed Java applets. It can also be exploited by supplying data to APIs in the specified Component without using sandboxed Java Web Start applications or sandboxed Java applets, such as through a web service. CVSS 3.0 Base Score 7.7 (Confidentiality, Integrity and Availability impacts). CVSS Vector: (CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H).

From the Ubuntu security team

Francesco Palmarini, Marco Squarcina, Mauro Tempesta, and Riccardo Focardi discovered that the Security component of OpenJDK did not restrict which classes could be used when deserializing keys from the JCEKS key stores. An attacker could use this to specially craft a JCEKS key store to execute arbitrary code.

Priority

Medium

CVSS 3 base score: 7.7

Status

Package Release Status
openjdk-6
Launchpad, Ubuntu, Debian
Upstream Needs triage

Ubuntu 18.04 LTS (Bionic Beaver) Does not exist

Ubuntu 16.04 LTS (Xenial Xerus) Does not exist

Ubuntu 14.04 ESM (Trusty Tahr) Does not exist
(trusty was needed)
openjdk-7
Launchpad, Ubuntu, Debian
Upstream Needs triage

Ubuntu 18.04 LTS (Bionic Beaver) Does not exist

Ubuntu 16.04 LTS (Xenial Xerus) Does not exist

Ubuntu 14.04 ESM (Trusty Tahr) Does not exist
(trusty was released [7u181-2.6.14-0ubuntu0.1])
openjdk-8
Launchpad, Ubuntu, Debian
Upstream Needs triage

Ubuntu 18.04 LTS (Bionic Beaver)
Released (8u171-b11-0ubuntu0.18.04.1)
Ubuntu 16.04 LTS (Xenial Xerus)
Released (8u171-b11-0ubuntu0.16.04.1)
Ubuntu 14.04 ESM (Trusty Tahr) Does not exist

Notes

AuthorNote
sbeattie
Oracle release notes on this issue:
Enhanced KeyStore Mechanisms
A new security property named jceks.key.serialFilter has been
introduced. If this filter is configured, the JCEKS KeyStore uses it
during the deserialization of the encrypted Key object stored inside
a SecretKeyEntry. If it is not configured or if the filter result is
UNDECIDED (for example, none of the patterns match), then the filter
configured by jdk.serialFilter is consulted.
If the system property jceks.key.serialFilter is also supplied, it
supersedes the security property value defined here.
The filter pattern uses the same format as jdk.serialFilter. The
default pattern allows java.lang.Enum, java.security.KeyRep,
java.security.KeyRep$Type, and javax.crypto.spec.SecretKeySpec but
rejects all the others.
Customers storing a SecretKey that does not serialize to the above
types must modify the filter to make the key extractable.

References