Bug 1534762 (CVE-2018-2618)

Summary: CVE-2018-2618 OpenJDK: insufficient strength of key agreement (JCE, 8185292)
Product: [Other] Security Response Reporter: Tomas Hoger <thoger>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: dbhole, jvanek, security-response-team, yozone
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
It was discovered that the key agreement implementations in the JCE component of OpenJDK did not guarantee sufficient strength of used keys to adequately protect generated shared secret. This could make it easier to break data encryption by attacking key agreement rather than the encryption using the negotiated secret.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-03-14 15:38:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1528238, 1528239, 1528240, 1528241, 1528243, 1528244, 1528245, 1528246, 1535085, 1535086, 1535087, 1535088, 1535089, 1535090, 1535091, 1535092, 1535104, 1535105, 1535106, 1535107, 1546135, 1546136, 1546137, 1546138, 1546140, 1546141, 1546142, 1546143, 1549401, 1549402    
Bug Blocks: 1528235    

Description Tomas Hoger 2018-01-15 21:59:42 UTC
It was discovered that the DHKeyAgreement and P11KeyAgreement implementations in the JCE component of OpenJDK did not guarantee sufficient strength of used keys to adequately protect generated shared secret.  This could make it easier to break encryption by attacking key agreement rather than the encryption using the negotiated key.

The patch for this issue causes classes' method generateSecret(String algorithm) to fail unless it's call for "TlsPremasterSecret", or the "jdk.crypto.KeyAgreement.legacyKDF" system property is set to true.

Comment 1 Tomas Hoger 2018-01-16 19:53:08 UTC
The following note related to this change can be found in the release notes for Oracle Java SE 8u161, 7u171, and 6u181:

  security-libs/javax.crypto
  Stricter key generation 

  The generateSecret(String) method has been mostly disabled in the
  javax.crypto.KeyAgreement services of the SUN and SunPKCS11 providers.
  Invoking this method for these providers will result in a
  NoSuchAlgorithmException for most algorithm string arguments. The previous
  behavior of this method can be re-enabled by setting the value of the
  jdk.crypto.KeyAgreement.legacyKDF system property to true (case
  insensitive). Re-enabling this method by setting this system property is
  not recommended.

  JDK-8185292 (not public)

http://www.oracle.com/technetwork/java/javase/8u161-relnotes-4021379.html
http://www.oracle.com/technetwork/java/javaseproducts/documentation/javase7supportreleasenotes-1601161.html#R170_171
http://www.oracle.com/technetwork/java/javase/documentation/overview-156328.html#R160_181

Comment 2 Tomas Hoger 2018-01-16 21:33:48 UTC
Public now via Oracle CPU January 2018:

http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html#AppendixJAVA

The issue was fixed in Oracle JDK 9.0.4, 8u161, 7u171, and 6u181.

Comment 3 errata-xmlrpc 2018-01-17 17:35:05 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2018:0095 https://access.redhat.com/errata/RHSA-2018:0095

Comment 4 errata-xmlrpc 2018-01-18 21:57:49 UTC
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 7
  Oracle Java for Red Hat Enterprise Linux 6

Via RHSA-2018:0099 https://access.redhat.com/errata/RHSA-2018:0099

Comment 5 errata-xmlrpc 2018-01-18 22:00:36 UTC
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 7
  Oracle Java for Red Hat Enterprise Linux 6

Via RHSA-2018:0100 https://access.redhat.com/errata/RHSA-2018:0100

Comment 6 errata-xmlrpc 2018-01-22 20:42:20 UTC
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 7
  Oracle Java for Red Hat Enterprise Linux 6

Via RHSA-2018:0115 https://access.redhat.com/errata/RHSA-2018:0115

Comment 7 Tomas Hoger 2018-01-23 13:02:35 UTC
OpenJDK-8 upstream commit:

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/9b819798e7b0

Comment 8 errata-xmlrpc 2018-02-26 21:32:53 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2018:0351 https://access.redhat.com/errata/RHSA-2018:0351

Comment 9 errata-xmlrpc 2018-02-26 21:38:02 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary

Via RHSA-2018:0352 https://access.redhat.com/errata/RHSA-2018:0352

Comment 10 errata-xmlrpc 2018-02-26 22:21:30 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2018:0349 https://access.redhat.com/errata/RHSA-2018:0349

Comment 13 errata-xmlrpc 2018-03-07 10:33:51 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2018:0458 https://access.redhat.com/errata/RHSA-2018:0458

Comment 14 errata-xmlrpc 2018-03-14 15:24:14 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary

Via RHSA-2018:0521 https://access.redhat.com/errata/RHSA-2018:0521

Comment 15 errata-xmlrpc 2018-05-15 15:31:48 UTC
This issue has been addressed in the following products:

  Red Hat Satellite 5.8

Via RHSA-2018:1463 https://access.redhat.com/errata/RHSA-2018:1463

Comment 16 errata-xmlrpc 2018-06-07 16:05:08 UTC
This issue has been addressed in the following products:

  Red Hat Satellite 5.6
  Red Hat Satellite 5.7

Via RHSA-2018:1812 https://access.redhat.com/errata/RHSA-2018:1812