Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

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.

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.

Priority

Medium

Cvss 3 Severity Score

7.7

Score breakdown

Status

Package Release Status
openjdk-6
Launchpad, Ubuntu, Debian
artful Does not exist

bionic Does not exist

cosmic Does not exist

disco Does not exist

trusty Does not exist
(trusty was needed)
upstream Needs triage

xenial Does not exist

openjdk-7
Launchpad, Ubuntu, Debian
artful Does not exist

bionic Does not exist

cosmic Does not exist

disco Does not exist

trusty
Released (7u181-2.6.14-0ubuntu0.1)
upstream Needs triage

xenial Does not exist

openjdk-8
Launchpad, Ubuntu, Debian
artful
Released (8u171-b11-0ubuntu0.17.10.1)
bionic
Released (8u171-b11-0ubuntu0.18.04.1)
cosmic Not vulnerable
(8u171-b11-1)
disco Not vulnerable
(8u171-b11-1)
trusty Does not exist

upstream Needs triage

xenial
Released (8u171-b11-0ubuntu0.16.04.1)

Severity score breakdown

Parameter Value
Base score 7.7
Attack vector Local
Attack complexity High
Privileges required None
User interaction Required
Scope Changed
Confidentiality High
Integrity impact High
Availability impact High
Vector CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H