Bug 1343616 (CVE-2016-4970) - CVE-2016-4970 netty: Infinite loop vulnerability when handling renegotiation using SslProvider.OpenSsl
Summary: CVE-2016-4970 netty: Infinite loop vulnerability when handling renegotiation ...
Alias: CVE-2016-4970
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
Depends On: 1347057 1347058 1347059 1347497
Blocks: 1343619 1357951 1357954 1379523 1381801 1439275
TreeView+ depends on / blocked
Reported: 2016-06-07 14:28 UTC by Adam Mariš
Modified: 2021-02-17 03:45 UTC (History)
72 users (show)

Fixed In Version: netty 4.0.37, netty 4.1.1
Doc Type: Bug Fix
Doc Text:
An infinite-loop vulnerability was discovered in Netty's OpenSslEngine handling of renegotiation. An attacker could exploit this flaw to cause a denial of service. Note: Netty is only vulnerable if renegotiation is enabled (default setting).
Clone Of:
Last Closed: 2020-07-28 19:27:39 UTC

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:1097 0 normal SHIPPED_LIVE Moderate: Red Hat JBoss Data Grid 7.1 2017-04-19 20:23:10 UTC
Red Hat Product Errata RHSA-2020:3192 0 None None None 2020-07-28 15:54:11 UTC

Description Adam Mariš 2016-06-07 14:28:12 UTC
Due to a bug in handling return code from openssl native calls, the SslHandler that uses OpenSslEngine can end up in an infinite loop and eat up all CPU cycles, which may lead to DoS of the system.

This can only happen if the server has renegotiation enabled (which is set as default). Only systems using SslProvider.OpenSsl are affected, that will be true if netty-tcnative is in the classpath and openssl is installed.

If netty-tcnative is linked against boringssl, the problem does not exist, since renegotiation is not supported in boringssl.

Versions affected: Netty 4.0.0.Final - 4.0.36.Final and 4.1.0.Final


Users can use -Djdk.tls.rejectClientInitiatedRenegotiation=true to disable renegotiation and avoid this issue.

Comment 5 Summer Long 2016-06-17 05:08:06 UTC
Created netty tracking bugs for this issue:

Affects: fedora-all [bug 1347497]

Comment 10 Tomas Hoger 2016-06-28 11:09:32 UTC
There are 3 netty versions in Red Hat Software Collections and Red Hat Developer Toolset:

- rh-java-common-netty and devtoolset-4-netty - both used on upstream version 4.0.28.  However, OpenSslEngine is removed from those packages, similar to netty packages in Fedora:


- thermostat1-netty - based on upstream version 3.6.3, which does not include OpenSslEngine, which was only added upstream in version 3.9.2:


Additionally, netty-tcnative required by OpenSslEngine is not shipped as part of RHSCL or DTS.

Comment 11 Tomas Hoger 2016-06-28 11:16:52 UTC
Fedora also includes netty3 packages, using upstream version 3.9.3, and hence including OpenSslEngine.  The information above suggests only 4.0.0 and later were affected by this issue, but, based on a quick look at the code and patch, it's not obvious to me why 3.9.x are not affected.  CCing netty3 packages owner so that they can be double checked.

Comment 16 errata-xmlrpc 2017-04-19 16:23:26 UTC
This issue has been addressed in the following products:

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

Comment 21 errata-xmlrpc 2020-07-28 15:54:06 UTC
This issue has been addressed in the following products:

  Red Hat Fuse 7.7.0

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

Comment 22 Product Security DevOps Team 2020-07-28 19:27:39 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):


Note You need to log in before you can comment on or make changes to this bug.