CVE-2016-2105
High · 7.5CVSS
7.5
EPSS
39.6%
Published
May 5, 2016
CISA due date
—
Cloudanix analysis
A flaw in a widely used encryption library can let attackers crash programs that handle certain data, causing temporary service interruptions.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in EVP_EncodeUpdate causes heap memory corruption when processing large binary data during base64 encoding, leading to denial of service.
Why it matters to the business
Applications relying on OpenSSL for data encoding may experience sudden crashes or service outages, disrupting operations in dependent software ecosystems with high downstream usage.
How an attack unfolds
An attacker supplies an excessively large binary payload to the vulnerable encoding function over the network, triggering the integer overflow and subsequent heap corruption that terminates the process.
How to fix it
Update OpenSSL to 1.0.1t or 1.0.2h or later; for nodejs/node apply commit 1b2bc79f96191f4a4cb268bf0048b43b2d56a284 and for phpmyadmin/phpmyadmin apply commit 243ed0268fa15567c8a787eeb6055a232102b91a.
How to confirm the fix worked
Confirm OpenSSL version is at or above the fixed releases, recompile dependent applications, and test base64 encoding functions with large inputs to verify absence of crashes.
Typical attack path
- Identify a network-accessible service using vulnerable OpenSSL encoding routines
- Craft and transmit a large binary data payload targeting EVP_EncodeUpdate
- Trigger integer overflow resulting in heap corruption and process crash
How to detect it
Review application and system logs for unexpected process terminations or heap-related errors during data encoding operations; correlate with inbound network traffic containing large binary payloads.
What your security team should do
- Prioritize patching OpenSSL and listed dependents given moderate EPSS score despite age
- Inventory all products using affected OpenSSL versions for immediate upgrade
- Monitor for availability impacts until remediation is complete
The record
Integer overflow in the EVP_EncodeUpdate function in crypto/evp/encode.c in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h allows remote attackers to cause a denial of service (heap memory corruption) via a large amount of binary data.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.2 | openssl | 0 | 1.0.2h-r0 |
| Alpine:v3.3 | openssl | 0 | 1.0.2h-r0 |
| Alpine:v3.4 | openssl | 0 | 1.0.2h-r0 |
| Alpine:v3.5 | openssl | 0 | 1.0.2h-r0 |
| Alpine:v3.6 | openssl | 0 | 1.0.2h-r0 |
| Alpine:v3.7 | openssl | 0 | 1.0.2h-r0 |
| Alpine:v3.8 | openssl | 0 | 1.0.2h-r0 |
| Debian:11 | openssl | 0 | 1.0.2h-1 |
| Debian:12 | openssl | 0 | 1.0.2h-1 |
| Debian:13 | openssl | 0 | 1.0.2h-1 |
| Debian:7 | openssl | 0 | 1.0.1e-2+deb7u21 |
| Debian:8 | openssl | 0 | 1.0.1k-3+deb8u5 |
| Mageia:5 | openssl | 0 | 1.0.2h-1.mga5 |
| Red Hat:enterprise_linux:6::client | openssl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::client | openssl-debuginfo | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::client | openssl-devel | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::client | openssl-perl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::client | openssl-static | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::computenode | openssl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::computenode | openssl-debuginfo | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::computenode | openssl-devel | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::computenode | openssl-perl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::computenode | openssl-static | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::server | openssl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::server | openssl-debuginfo | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::server | openssl-devel | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::server | openssl-perl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::server | openssl-static | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::workstation | openssl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::workstation | openssl-debuginfo | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::workstation | openssl-devel | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::workstation | openssl-perl | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:6::workstation | openssl-static | 0 | 0:1.0.1e-48.el6_8.1 |
| Red Hat:enterprise_linux:7::client | openssl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::client | openssl-debuginfo | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::client | openssl-devel | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::client | openssl-libs | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::client | openssl-perl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::client | openssl-static | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::computenode | openssl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::computenode | openssl-debuginfo | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::computenode | openssl-devel | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::computenode | openssl-libs | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::computenode | openssl-perl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::computenode | openssl-static | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::server | openssl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::server | openssl-debuginfo | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::server | openssl-devel | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::server | openssl-libs | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::server | openssl-perl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::server | openssl-static | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::workstation | openssl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::workstation | openssl-debuginfo | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::workstation | openssl-devel | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::workstation | openssl-libs | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::workstation | openssl-perl | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:enterprise_linux:7::workstation | openssl-static | 0 | 1:1.0.1e-51.el7_2.5 |
| Red Hat:jboss_enterprise_web_server:2::el6 | httpd | 0 | 0:2.2.26-54.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | httpd-debuginfo | 0 | 0:2.2.26-54.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | httpd-devel | 0 | 0:2.2.26-54.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | httpd-manual | 0 | 0:2.2.26-54.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | httpd-tools | 0 | 0:2.2.26-54.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24 | 0 | 0:1-3.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24-openssl | 0 | 1:1.0.2h-4.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24-openssl-debuginfo | 0 | 1:1.0.2h-4.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24-openssl-devel | 0 | 1:1.0.2h-4.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24-openssl-libs | 0 | 1:1.0.2h-4.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24-openssl-perl | 0 | 1:1.0.2h-4.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24-openssl-static | 0 | 1:1.0.2h-4.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | jbcs-httpd24-runtime | 0 | 0:1-3.jbcs.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_cluster | 0 | 0:1.2.13-1.Final_redhat_1.1.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_cluster-native | 0 | 0:1.2.13-3.Final_redhat_2.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_cluster-native-debuginfo | 0 | 0:1.2.13-3.Final_redhat_2.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_cluster-tomcat6 | 0 | 0:1.2.13-1.Final_redhat_1.1.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_cluster-tomcat7 | 0 | 0:1.2.13-1.Final_redhat_1.1.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_jk | 0 | 0:1.2.41-2.redhat_3.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_jk-ap22 | 0 | 0:1.2.41-2.redhat_3.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_jk-debuginfo | 0 | 0:1.2.41-2.redhat_3.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_jk-manual | 0 | 0:1.2.41-2.redhat_3.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | mod_ssl | 0 | 1:2.2.26-54.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | tomcat-native | 0 | 0:1.1.34-5.redhat_1.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el6 | tomcat-native-debuginfo | 0 | 0:1.1.34-5.redhat_1.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:2::el7 | httpd22 | 0 | 0:2.2.26-56.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | httpd22-debuginfo | 0 | 0:2.2.26-56.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | httpd22-devel | 0 | 0:2.2.26-56.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | httpd22-manual | 0 | 0:2.2.26-56.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | httpd22-tools | 0 | 0:2.2.26-56.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24 | 0 | 0:1-3.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24-openssl | 0 | 1:1.0.2h-4.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24-openssl-debuginfo | 0 | 1:1.0.2h-4.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24-openssl-devel | 0 | 1:1.0.2h-4.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24-openssl-libs | 0 | 1:1.0.2h-4.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24-openssl-perl | 0 | 1:1.0.2h-4.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24-openssl-static | 0 | 1:1.0.2h-4.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | jbcs-httpd24-runtime | 0 | 0:1-3.jbcs.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_cluster | 0 | 0:1.2.13-1.Final_redhat_1.1.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_cluster-native | 0 | 0:1.2.13-3.Final_redhat_2.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_cluster-native-debuginfo | 0 | 0:1.2.13-3.Final_redhat_2.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_cluster-tomcat6 | 0 | 0:1.2.13-1.Final_redhat_1.1.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_cluster-tomcat7 | 0 | 0:1.2.13-1.Final_redhat_1.1.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_jk | 0 | 0:1.2.41-2.redhat_3.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_jk-ap22 | 0 | 0:1.2.41-2.redhat_3.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_jk-debuginfo | 0 | 0:1.2.41-2.redhat_3.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_jk-manual | 0 | 0:1.2.41-2.redhat_3.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | mod_ssl22 | 0 | 1:2.2.26-56.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | tomcat-native | 0 | 0:1.1.34-5.redhat_1.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:2::el7 | tomcat-native-debuginfo | 0 | 0:1.1.34-5.redhat_1.ep6.el7 |
| Red Hat:rhel_eus:6.7::computenode | openssl | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::computenode | openssl-debuginfo | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::computenode | openssl-devel | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::computenode | openssl-perl | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::computenode | openssl-static | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::server | openssl | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::server | openssl-debuginfo | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::server | openssl-devel | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::server | openssl-perl | 0 | 0:1.0.1e-42.el6_7.5 |
| Red Hat:rhel_eus:6.7::server | openssl-static | 0 | 0:1.0.1e-42.el6_7.5 |
| SUSE:Linux Enterprise Desktop 12 | compat-openssl098 | 0 | 0.9.8j-97.1 |
| SUSE:Linux Enterprise Desktop 12 | openssl | 0 | 1.0.1i-27.16.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | compat-openssl098 | 0 | 0.9.8j-97.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | openssl | 0 | 1.0.1i-47.1 |
| SUSE:Linux Enterprise Module for Legacy 12 | compat-openssl098 | 0 | 0.9.8j-97.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Linux Enterprise Server 11 SP4 | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Linux Enterprise Server 11-SECURITY | openssl1 | 0 | 1.0.1g-0.47.1 |
| SUSE:Linux Enterprise Server 12 | openssl | 0 | 1.0.1i-27.16.1 |
| SUSE:Linux Enterprise Server 12 SP1 | openssl | 0 | 1.0.1i-47.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | compat-openssl097g | 0 | 0.9.7g-146.22.44.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | compat-openssl097g | 0 | 0.9.7g-146.22.44.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | openssl | 0 | 1.0.1i-27.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | compat-openssl098 | 0 | 0.9.8j-97.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | openssl | 0 | 1.0.1i-47.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | openssl | 0 | 1.0.1i-27.16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | openssl | 0 | 1.0.1i-47.1 |
| SUSE:Manager 2.1 | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Manager Proxy 2.1 | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:OpenStack Cloud 5 | openssl | 0 | 0.9.8j-0.97.1 |
| SUSE:Studio Onsite 1.3 | openssl | 0 | 0.9.8j-0.97.1 |
| Ubuntu:14.04:LTS | openssl | 0 | 1.0.1f-1ubuntu2.19 |
| Ubuntu:16.04:LTS | openssl | 0 | 1.0.2g-1ubuntu4.1 |
| openSUSE:Tumbleweed | openssl-1_1 | 0 | 1.1.1l-1.2 |
Related vulnerabilities
- CVE-2016-7055 There is a carry propagating bug in the Broadwell-specific Montgomery multiplication… Also affects openssl
- CVE-2017-3732 There is a carry propagating bug in the x86_64 Montgomery squaring procedure in OpenSSL… Also affects openssl
- CVE-2017-3731 If an SSL/TLS server or client is running on a 32-bit host, and a specific cipher is… Also affects openssl
- CVE-2016-7052 crypto/x509/x509_vfy.c in OpenSSL 1.0.2i allows remote attackers to cause a denial of… Also affects openssl
- CVE-2016-6306 The certificate parser in OpenSSL before 1.0.1u and 1.0.2 before 1.0.2i might allow… Also affects openssl
- CVE-2016-6304 Multiple memory leaks in t1_lib.c in OpenSSL before 1.0.1u, 1.0.2 before 1.0.2i, and… Also affects openssl
- CVE-2016-6303 Integer overflow in the MDC2_Update function in crypto/mdc2/mdc2dgst.c in OpenSSL before… Also affects openssl
- CVE-2016-6302 The tls_decrypt_ticket function in ssl/t1_lib.c in OpenSSL before 1.1.0 does not consider… Also affects openssl