CVE-2016-7444
High · 7.5CVSS
7.5
EPSS
2.4%
Published
Sep 27, 2016
CISA due date
—
Cloudanix analysis
A flaw in a widely used encryption library could let attackers pretend to be trusted websites or services by dodging identity checks.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The gnutls_ocsp_resp_check_crt function fails to verify the serial length of an OCSP response, permitting trailing bytes left by gnutls_malloc to bypass certificate validation.
Why it matters to the business
Attackers could intercept encrypted connections and impersonate trusted endpoints, exposing sensitive data in transit across any systems relying on the vulnerable library.
How an attack unfolds
An attacker intercepts a TLS handshake involving GnuTLS, supplies a crafted OCSP response containing extra trailing bytes after the serial number, and causes the library to accept an otherwise invalid certificate without raising an error.
How to fix it
Upgrade GnuTLS to a build containing commit 964632f37dfdfb914ebc5e49db4fa29af35b1de9, equivalent to versions 3.4.15 or 3.5.4 and later.
How to confirm the fix worked
Confirm installed GnuTLS version meets or exceeds 3.4.15 or 3.5.4; review lib/x509/ocsp.c for addition of explicit serial-length verification before the check_crt call.
Typical attack path
- Position as a network intermediary capable of observing or altering TLS traffic
- Craft an OCSP response with an incorrectly terminated serial number padded by extra bytes
- Return the response during online certificate status checks performed by GnuTLS
- Complete the TLS handshake with validation bypassed
How to detect it
Search application and system logs for TLS handshake events that completed despite OCSP responses containing unexpected lengths; inspect network captures for OCSP replies with anomalous serial fields near the time of suspected incidents.
What your security team should do
- Apply the fixed GnuTLS commit or newer releases to all affected hosts and containers
- Inventory applications that link against GnuTLS and prioritize updates for those performing OCSP checks
- Test certificate validation behavior after upgrade to ensure OCSP responses are now strictly validated
The record
The gnutls_ocsp_resp_check_crt function in lib/x509/ocsp.c in GnuTLS before 3.4.15 and 3.5.x before 3.5.4 does not verify the serial length of an OCSP response, which might allow remote attackers to bypass an intended certificate validation mechanism via vectors involving trailing bytes left by gnutls_malloc.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.2 | gnutls | 0 | 3.4.5-r1 |
| Debian:11 | gnutls28 | 0 | 3.5.3-4 |
| Debian:12 | gnutls28 | 0 | 3.5.3-4 |
| Debian:13 | gnutls28 | 0 | 3.5.3-4 |
| Mageia:5 | gnutls | 0 | 3.2.21-1.2.mga5 |
| Red Hat:enterprise_linux:7::client | gnutls | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::client | gnutls-c++ | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::client | gnutls-dane | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::client | gnutls-debuginfo | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::client | gnutls-devel | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::client | gnutls-utils | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::computenode | gnutls | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::computenode | gnutls-c++ | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::computenode | gnutls-dane | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::computenode | gnutls-debuginfo | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::computenode | gnutls-devel | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::computenode | gnutls-utils | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::server | gnutls | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::server | gnutls-c++ | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::server | gnutls-dane | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::server | gnutls-debuginfo | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::server | gnutls-devel | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::server | gnutls-utils | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::workstation | gnutls | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::workstation | gnutls-c++ | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::workstation | gnutls-dane | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::workstation | gnutls-debuginfo | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::workstation | gnutls-devel | 0 | 0:3.3.26-9.el7 |
| Red Hat:enterprise_linux:7::workstation | gnutls-utils | 0 | 0:3.3.26-9.el7 |
| SUSE:Linux Enterprise Desktop 12 SP1 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Server 12 SP1 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Server 12 SP2 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | gnutls | 0 | 3.2.15-16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | gnutls | 0 | 3.2.15-16.1 |
| Ubuntu:14.04:LTS | gnutls26 | 0 | 2.12.23-12ubuntu2.6 |
| Ubuntu:16.04:LTS | gnutls28 | 0 | 3.4.10-4ubuntu1.2 |
Related vulnerabilities
- CVE-2024-28834 A flaw was found in GnuTLS. Also affects gnutls28
- CVE-2024-28835 A flaw has been discovered in GnuTLS where an application crash can be induced when… Also affects gnutls28
- CVE-2024-0553 A vulnerability was found in GnuTLS. Also affects gnutls28
- CVE-2023-5981 A vulnerability was found that the response times to malformed ciphertexts in RSA-PSK… Also affects gnutls28
- CVE-2017-7507 GnuTLS version 3.5.12 and earlier is vulnerable to a NULL pointer dereference while… Also affects gnutls28
- CVE-2017-5334 Double free vulnerability in the gnutls_x509_ext_import_proxy function in GnuTLS before… Also affects gnutls28
- CVE-2015-7575 Mozilla Network Security Services (NSS) before 3.20.2, as used in Mozilla Firefox before… Also affects gnutls28
- CVE-2015-6251 Double free vulnerability in GnuTLS before 3.3.17 and 3.4.x before 3.4.4 allows remote… Also affects gnutls28