Bug 1369383 (CVE-2016-2183, SWEET32)

Summary: CVE-2016-2183 SSL/TLS: Birthday attack against 64-bit block ciphers (SWEET32)
Product: [Other] Security Response Reporter: Adam Mariš <amaris>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: ahardin, alegrand, amurdaca, anpicker, aortega, aos-bugs, aos-install, apevec, apmukher, bbaranow, bleanhar, bmaxwell, bmontgom, bpeterse, ccoleman, cdewolf, chrisw, csutherl, cvsbot-xmlrpc, dandread, darran.lofthouse, dedgar, dosoudil, eparis, erooth, gnaik, gzaronik, hasuzuki, huzaifas, jawilson, jburrell, jclere, jgoulding, jokerman, jschluet, jshepherd, kakkoyun, kbasil, kbost, lcosic, lgao, lhh, lpeer, markmc, mbabacek, mchappel, meeuw2000, mfojtik, mkolesni, mloibl, mturk, myarboro, nstielau, nyechiel, oarribas, ocp-storage-bot, pgier, pkrupa, psakar, pslavice, rbryant, rkshirsa, rnetuka, rsvoboda, sardella, sbatsche, sclewis, security-response-team, sfowler, slawomir, slong, spadgett, sponnaga, sttts, surbania, tdecacqu, tmraz, twalsh, vtunka, weli, ykawada, 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:
A flaw was found in the way the DES/3DES cipher was used as part of the TLS/SSL protocol. A man-in-the-middle attacker could use this flaw to recover some plaintext data by capturing large amounts of encrypted traffic between TLS/SSL server and client if the communication used a DES/3DES based ciphersuite.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-11-17 17:51:04 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: 1377991, 1377992, 1377993, 1377995, 1381440, 1381441, 1381552, 1388742, 1388743, 1388744, 1388745, 1410303, 1410304, 1410305, 1410306, 1427313, 1427314, 1427315, 1427316, 1508872, 1716428, 1745430, 1745431, 1745433, 1745435, 1748212, 1773786, 1773787, 1773788, 1777129, 1840253, 1844989, 1844990, 1851810, 1918281, 1923823, 2090662    
Bug Blocks: 1369388, 1410614, 1490666, 1507692, 1509003, 1513244    

Description Adam Mariš 2016-08-23 09:15:20 UTC
Ciphers with 64-bit block sizes used in CBC mode were found to be vulnerable to birthday attack when key renegotiation doesn't happen frequently or at all in long running connections. 3DES cipher as used in TLS protocol is vulnerable to this attack, that allows remote attacker to recover partial plaintext information (XOR of two plaintext blocks).

Comment 1 Adam Mariš 2016-08-23 09:19:05 UTC
Acknowledgments:

Name: OpenVPN
Upstream: Karthikeyan Bhargavan (Inria), Gaëtan Leurent (Inria)

Comment 3 Huzaifa S. Sidhpurwala 2016-08-24 08:52:37 UTC
Upstream Security fixes:

1.OpenSSL has moved 3DES ciphersuites from the HIGH category to MEDIUM in the 1.0.2 branch, and will disable it by default in the upcoming 1.1.0 release.

2. Mozilla NSS is implementing data limits for all ciphersuites:
https://bugzilla.mozilla.org/show_bug.cgi?id=1268745

Comment 4 Tomas Hoger 2016-09-20 08:35:40 UTC
(In reply to Huzaifa S. Sidhpurwala from comment #3)
> 1.OpenSSL has moved 3DES ciphersuites from the HIGH category to MEDIUM in
> the 1.0.2 branch, and will disable it by default in the upcoming 1.1.0
> release.

DES cipher suites are also being moved form HIGH to MEDIUM in openssl 1.0.1u:

https://git.openssl.org/?p=openssl.git;a=commitdiff;h=e95f5e03f6f1f8d3f6cbe4b7fa48e57b4cf8fd60

Comment 14 Tomas Hoger 2016-09-21 20:13:46 UTC
(In reply to Huzaifa S. Sidhpurwala from comment #3)
> 1.OpenSSL has moved 3DES ciphersuites from the HIGH category to MEDIUM in
> the 1.0.2 branch, and will disable it by default in the upcoming 1.1.0
> release.

These commits disable DES in 1.1.0:

https://git.openssl.org/?p=openssl.git;a=commitdiff;h=d33726b92e09605a088369d0e01c99d138c0524f
https://git.openssl.org/?p=openssl.git;a=commitdiff;h=ef28891bab7054667f2f6739f6d376c38b3ca1cc

Comment 15 errata-xmlrpc 2016-09-27 13:54:19 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2016:1940 https://rhn.redhat.com/errata/RHSA-2016-1940.html

Comment 22 Huzaifa S. Sidhpurwala 2016-10-25 06:55:34 UTC
Statement:

OpenSSL security update RHSA-2016:1940 mitigates this issue by lowering priority of DES cipher suites so they are not preferred over cipher suites using AES. For compatibility reasons, DES cipher suites remain enabled by default and included in the set of cipher suites identified by the HIGH cipher string. Future updates may move them to MEDIUM or not enable them by default.

NSS addressed this issue by implementing limits on the amount of plain text which can be encrypted by using the same key. Once the limit is reached, the keys will need to be re-negotiated manually. This change will be available in nss-3.27.

GnuTLS is not affected by this issue, since it prioritizes AES before 3DES in the cipher list.

Comment 23 Huzaifa S. Sidhpurwala 2016-10-26 05:08:45 UTC
Created nss tracking bugs for this issue:

Affects: fedora-all [bug 1388745]

Comment 24 Huzaifa S. Sidhpurwala 2016-10-26 05:09:03 UTC
Created openssl101e tracking bugs for this issue:

Affects: epel-5 [bug 1388744]

Comment 25 Huzaifa S. Sidhpurwala 2016-10-26 05:09:18 UTC
Created openssl tracking bugs for this issue:

Affects: fedora-all [bug 1388742]

Comment 26 Huzaifa S. Sidhpurwala 2016-10-26 05:09:32 UTC
Created mingw-openssl tracking bugs for this issue:

Affects: fedora-all [bug 1388743]

Comment 30 Tomas Hoger 2017-01-18 20:59:45 UTC
This issue was mitigated in Oracle JDK versions 8u121, 7u131, and 6u141 by adding the 3DES_EDE_CBC to legacy algorithms (defined using the jdk.tls.legacyAlgorithms security property).  This change causes all cipher suites using this encryption algorithm to have low priority and only get used if no other non-legacy cipher suite can be negotiated.

OpenJDK 8 upstream commit:

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/5d2bb853ae31

Comment 31 errata-xmlrpc 2017-01-19 13:59:34 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
  Oracle Java for Red Hat Enterprise Linux 5

Via RHSA-2017:0176 https://rhn.redhat.com/errata/RHSA-2017-0176.html

Comment 32 errata-xmlrpc 2017-01-19 14:01:40 UTC
This issue has been addressed in the following products:

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

Via RHSA-2017:0175 https://rhn.redhat.com/errata/RHSA-2017-0175.html

Comment 33 errata-xmlrpc 2017-01-19 14:09:15 UTC
This issue has been addressed in the following products:

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

Via RHSA-2017:0177 https://rhn.redhat.com/errata/RHSA-2017-0177.html

Comment 34 errata-xmlrpc 2017-01-20 11:05:03 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2017:0180 https://rhn.redhat.com/errata/RHSA-2017-0180.html

Comment 35 errata-xmlrpc 2017-02-13 11:18:08 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7
  Red Hat Enterprise Linux 5

Via RHSA-2017:0269 https://rhn.redhat.com/errata/RHSA-2017-0269.html

Comment 37 Tomas Hoger 2017-02-27 22:12:13 UTC
This issue was addressed in IBM JDK versions 8 SR4-FP1, 7R1 SR4-FP1, 7 SR10-FP1, and 6 SR16-FP40 by disabling all TLS/SSL cipher suites using 3DES.

https://developer.ibm.com/javasdk/support/security-vulnerabilities/#Oracle_January_17_2017_CPU

This fix was achieved via a change to the jdk.tls.disabledAlgorithms security property.  For IBM JDK 7 and 8, it now includes "DESede" keyword to disable 3DES.  For IBM JDK 6, it now includes "3DES_EDE_CBC" keyword to disable 3DES.

Note that IBM originally claimed to have a fix for this issue included in versions 8 SR4, 7R1 SR4, and 7 SR10.  Those versions added "3DES_EDE_CBC" to jdk.tls.disabledAlgorithms.  However, such change did not work as expected in IBM JDK 7 and 8, and still allowed the use of 3DES cipher suites.  The same change applied to IBM JDK 6 worked correctly.  This fix was improved in -FP1 versions by adding "DESede".  "3DES_EDE_CBC" was also preserved in the jdk.tls.disabledAlgorithms.  "DESede" also disables 3DES in IBM JDK6.

If applications need to continue using 3DES cipher suites, their support can be re-enabled by removing "DESede" and/or "3DES_EDE_CBC" keywords form the jdk.tls.disabledAlgorithms security property.  The value of the properly can be changed using the following ways:

* The default value can be set via the system java.security file, located in the jre/lib/security JDK directory.

* The system property java.security.properties can be used to make JDK override setting form the global java.security file with values from a user-specified one.  More details on using this system property can be found in bug 1152789 comment 82.

* Value read from global or user/application specific java.security configuration file can be overridden by application at runtime using a call to Security.setProperty().

Comment 38 errata-xmlrpc 2017-02-28 08:19:50 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 5 Supplementary

Via RHSA-2017:0337 https://rhn.redhat.com/errata/RHSA-2017-0337.html

Comment 39 errata-xmlrpc 2017-02-28 08:21:55 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary
  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2017:0336 https://rhn.redhat.com/errata/RHSA-2017-0336.html

Comment 40 errata-xmlrpc 2017-02-28 08:29:37 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary
  Red Hat Enterprise Linux 5 Supplementary

Via RHSA-2017:0338 https://rhn.redhat.com/errata/RHSA-2017-0338.html

Comment 41 errata-xmlrpc 2017-03-08 13:23:05 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary
  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2017:0462 https://rhn.redhat.com/errata/RHSA-2017-0462.html

Comment 47 errata-xmlrpc 2017-05-09 16:45:24 UTC
This issue has been addressed in the following products:

  Red Hat Satellite 5.6
  Red Hat Satellite 5.7

Via RHSA-2017:1216 https://access.redhat.com/errata/RHSA-2017:1216

Comment 48 errata-xmlrpc 2017-09-13 16:38:29 UTC
This issue has been addressed in the following products:

  Red Hat JBoss Core Services

Via RHSA-2017:2708 https://access.redhat.com/errata/RHSA-2017:2708

Comment 49 errata-xmlrpc 2017-09-13 16:50:11 UTC
This issue has been addressed in the following products:

  JBoss Core Services on RHEL 7

Via RHSA-2017:2709 https://access.redhat.com/errata/RHSA-2017:2709

Comment 50 errata-xmlrpc 2017-09-13 16:51:12 UTC
This issue has been addressed in the following products:

  JBoss Core Services on RHEL 6

Via RHSA-2017:2710 https://access.redhat.com/errata/RHSA-2017:2710

Comment 51 errata-xmlrpc 2017-11-02 19:07:36 UTC
This issue has been addressed in the following products:

  Red Hat JBoss Web Server

Via RHSA-2017:3114 https://access.redhat.com/errata/RHSA-2017:3114

Comment 52 errata-xmlrpc 2017-11-02 19:16:44 UTC
This issue has been addressed in the following products:

  Red Hat JBoss Enterprise Web Server 2 for RHEL 6
  Red Hat JBoss Enterprise Web Server 2 for RHEL 7

Via RHSA-2017:3113 https://access.redhat.com/errata/RHSA-2017:3113

Comment 54 errata-xmlrpc 2017-11-16 19:10:43 UTC
This issue has been addressed in the following products:

  Red Hat JBoss Enterprise Application Platform

Via RHSA-2017:3239 https://access.redhat.com/errata/RHSA-2017:3239

Comment 55 errata-xmlrpc 2017-11-16 19:27:55 UTC
This issue has been addressed in the following products:

  Red Hat JBoss Enterprise Application Platform 6.4 for RHEL 6
  Red Hat JBoss Enterprise Application Platform 6.4 for RHEL 7

Via RHSA-2017:3240 https://access.redhat.com/errata/RHSA-2017:3240

Comment 59 errata-xmlrpc 2018-07-03 14:06:59 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

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

Comment 60 errata-xmlrpc 2019-05-20 14:12:36 UTC
This issue has been addressed in the following products:

  Red Hat Quay 3

Via RHSA-2019:1245 https://access.redhat.com/errata/RHSA-2019:1245

Comment 61 errata-xmlrpc 2019-09-27 00:14:43 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 4.1

Via RHSA-2019:2859 https://access.redhat.com/errata/RHSA-2019:2859

Comment 64 errata-xmlrpc 2020-02-19 20:13:53 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 3.11

Via RHSA-2020:0451 https://access.redhat.com/errata/RHSA-2020:0451

Comment 68 errata-xmlrpc 2020-10-01 00:15:41 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 4.5

Via RHSA-2020:3842 https://access.redhat.com/errata/RHSA-2020:3842

Comment 69 Sam Fowler 2020-11-12 05:51:00 UTC
Mitigation:

1.SSL/TLS configurations should prefer AES over DES. Versions of OpenSSL shipped with Red Hat Enterprise Linux 6 and 7 already do so. In the version of OpenSSL shipped with Red Hat Enterprise Linux 5, 3DES is listed below the AES-256 cipher and above the AES-128 cipher, therefore AES-256 based ciphersuite should not be disabled on the server.
2. Servers using OpenSSL, should not disable AES-128 and AES-256 ciphersuites. Versions of Apache shipped with Red Hat Enterprise Linux use the default cipher string, in which AES is preferred over DES/3DES based ciphersuites.

For JBoss Middleware, and Java mitigations, please review this knowledge base article:

https://access.redhat.com/articles/2598471

This can be mitigated on OpenShift Container Platform (OCP) by disabling the vulnerable TLS cipher suite in the applicable component. TLS configuration options for OCP are described here:

https://access.redhat.com/articles/5348961

Comment 71 errata-xmlrpc 2021-02-08 13:50:40 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 4.6

Via RHSA-2021:0308 https://access.redhat.com/errata/RHSA-2021:0308

Comment 72 errata-xmlrpc 2021-07-27 22:31:20 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 4.8

Via RHSA-2021:2438 https://access.redhat.com/errata/RHSA-2021:2438