CVE-2017-7507
High · 7.5CVSS
7.5
EPSS
3.4%
Published
Jun 16, 2017
CISA due date
—
Cloudanix analysis
A bug in a widely used encryption library can make servers that protect network traffic crash when they receive certain messages, temporarily taking services offline.
- 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
NULL pointer dereference during decoding of a TLS status response extension with valid contents triggers an unhandled crash in the GnuTLS library.
Why it matters to the business
Remote attackers can force GnuTLS-based servers to terminate, producing denial-of-service outages and service disruption until the process is restarted.
How an attack unfolds
An unauthenticated remote attacker crafts a TLS handshake containing a status response extension and sends it to a GnuTLS server; the library dereferences a null pointer while processing the extension and crashes.
How to fix it
Upgrade GnuTLS to a version newer than 3.5.12 that contains the NULL-pointer fix; rebuild and restart all dependent server applications; test TLS handshake functionality after upgrade.
How to confirm the fix worked
Confirm the installed GnuTLS shared library or package reports a version greater than 3.5.12; run automated TLS handshake tests that exercise the status_request extension and verify the server remains stable.
Typical attack path
- Attacker establishes a TCP connection to a TLS service using GnuTLS
- Attacker sends a ClientHello that includes a status_request extension with crafted but syntactically valid contents
- GnuTLS server processes the extension during handshake and hits the null dereference
- Server process crashes, closing all active connections
How to detect it
Review service and system logs for sudden GnuTLS process terminations or segmentation faults occurring during TLS handshakes; correlate with inbound TLS traffic that contains status_request extensions.
What your security team should do
- Inventory all systems and containers that link against GnuTLS and prioritize upgrades
- Apply the newest GnuTLS package available from the operating-system or language distribution
- Monitor for repeated abrupt terminations of GnuTLS-based services as an operational indicator
The record
GnuTLS version 3.5.12 and earlier is vulnerable to a NULL pointer dereference while decoding a status response TLS extension with valid contents. This could lead to a crash of the GnuTLS server application.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.11 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.12 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.13 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.14 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.15 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.16 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.17 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.18 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.19 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.20 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.21 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.22 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.3 | gnutls | 0 | 3.14.17-r1 |
| Alpine:v3.4 | gnutls | 0 | 3.14.17-r1 |
| Alpine:v3.5 | gnutls | 0 | 3.14.17-r1 |
| Alpine:v3.6 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.7 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.8 | gnutls | 0 | 3.5.13-r0 |
| Alpine:v3.9 | gnutls | 0 | 3.5.13-r0 |
| Chainguard | gnutls | 0 | 0 |
| Chainguard | gnutls-c++ | 0 | 0 |
| Chainguard | gnutls-dev | 0 | 0 |
| Chainguard | gnutls-doc | 0 | 0 |
| Chainguard | gnutls-utils | 0 | 0 |
| Debian:11 | gnutls28 | 0 | 3.5.8-6 |
| Debian:12 | gnutls28 | 0 | 3.5.8-6 |
| Debian:13 | gnutls28 | 0 | 3.5.8-6 |
| Debian:8 | gnutls28 | 0 | 3.3.8-6+deb8u6 |
| Debian:9 | gnutls28 | 0 | 3.5.8-5+deb9u1 |
| Mageia:5 | gnutls | 0 | 3.2.21-1.4.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 SP2 | gnutls | 0 | 3.2.15-18.3.1 |
| SUSE:Linux Enterprise Server 12 SP2 | gnutls | 0 | 3.2.15-18.3.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | gnutls | 0 | 3.2.15-18.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | gnutls | 0 | 3.2.15-18.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | gnutls | 0 | 3.2.15-18.3.1 |
| Ubuntu:14.04:LTS | gnutls26 | 0 | 2.12.23-12ubuntu2.8 |
| Ubuntu:16.04:LTS | gnutls28 | 0 | 3.4.10-4ubuntu1.3 |
| Wolfi | gnutls | 0 | 0 |
| Wolfi | gnutls-c++ | 0 | 0 |
| Wolfi | gnutls-dev | 0 | 0 |
| Wolfi | gnutls-doc | 0 | 0 |
| Wolfi | gnutls-utils | 0 | 0 |
Related vulnerabilities
- CVE-2024-28834 A flaw was found in GnuTLS. Also affects gnutls
- CVE-2024-28835 A flaw has been discovered in GnuTLS where an application crash can be induced when… Also affects gnutls
- CVE-2024-0553 A vulnerability was found in GnuTLS. Also affects gnutls
- CVE-2023-5981 A vulnerability was found that the response times to malformed ciphertexts in RSA-PSK… Also affects gnutls
- CVE-2017-5334 Double free vulnerability in the gnutls_x509_ext_import_proxy function in GnuTLS before… Also affects gnutls28
- CVE-2016-7444 The gnutls_ocsp_resp_check_crt function in lib/x509/ocsp.c in GnuTLS before 3.4.15 and… 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