CVE-2014-3466
NoneCVSS
—
EPSS
11.2%
Published
Jun 3, 2014
CISA due date
—
Cloudanix analysis
A flaw in a widely used encryption library lets attackers who control a server crash or take over programs on your computer when those programs try to connect securely.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Buffer overflow in read_server_hello allows remote servers to corrupt memory during TLS handshake via oversized session ID in ServerHello, enabling denial of service or arbitrary code execution.
Why it matters to the business
Systems using vulnerable GnuTLS versions risk remote compromise, service disruption, and potential data exposure when connecting to attacker-controlled servers; widespread library use amplifies exposure across dependent applications.
How an attack unfolds
An attacker hosts a malicious TLS server that responds to client connections with a crafted ServerHello containing an excessively long session identifier, triggering the overflow in the client's handshake processing and leading to memory corruption or code execution.
How to fix it
Upgrade GnuTLS to version 3.1.25 or later, 3.2.15 or later, or 3.3.4 or later depending on the branch in use; rebuild and redeploy all dependent applications after the library update.
How to confirm the fix worked
Verify installed GnuTLS version against the fixed releases listed in the advisory; test client connections to known-good servers and monitor for handshake-related crashes or memory errors.
Typical attack path
- Attacker configures a rogue TLS server to listen for connections
- Victim client initiates a TLS handshake to the malicious server
- Server sends ServerHello message with oversized session ID field
- Client's GnuTLS read_server_hello function overflows buffer during parsing
- Memory corruption occurs, potentially leading to crash or attacker-controlled code execution
How to detect it
Search application and system logs for unexpected crashes during TLS handshakes, unusual session ID lengths in network captures, and any post-handshake memory corruption indicators; correlate with outbound connections to suspicious servers.
What your security team should do
- Immediately inventory all systems and applications using GnuTLS and prioritize upgrades to fixed versions
- Block or monitor outbound connections to untrusted TLS endpoints until patches are applied
- Enable application sandboxing or memory protections where possible to limit exploit impact
- Review logs for anomalous TLS handshake failures or crashes as part of incident response
The record
Buffer overflow in the read_server_hello function in lib/gnutls_handshake.c in GnuTLS before 3.1.25, 3.2.x before 3.2.15, and 3.3.x before 3.3.4 allows remote servers to cause a denial of service (memory corruption) or possibly execute arbitrary code via a long session id in a ServerHello message.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | gnutls28 | 0 | 3.2.15-1 |
| Debian:12 | gnutls28 | 0 | 3.2.15-1 |
| Debian:13 | gnutls28 | 0 | 3.2.15-1 |
| Debian:6.0 | gnutls26 | 0 | 2.8.6-1+squeeze4 |
| Debian:7 | gnutls26 | 0 | 2.12.20-8+deb7u2 |
| Mageia:3 | gnutls | 0 | 3.1.16-1.3.mga3 |
| Mageia:4 | gnutls | 0 | 3.2.7-1.3.mga4 |
| Red Hat:enterprise_linux:5::client | gnutls | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::client | gnutls-debuginfo | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::client | gnutls-devel | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::client | gnutls-utils | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | gnutls | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | gnutls-debuginfo | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | gnutls-devel | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | gnutls-utils | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::server | gnutls | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::server | gnutls-debuginfo | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::server | gnutls-devel | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:5::server | gnutls-utils | 0 | 0:1.4.1-16.el5_10 |
| Red Hat:enterprise_linux:6::client | gnutls | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::client | gnutls-debuginfo | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::client | gnutls-devel | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::client | gnutls-guile | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::client | gnutls-utils | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::computenode | gnutls | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::computenode | gnutls-debuginfo | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::computenode | gnutls-devel | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::computenode | gnutls-guile | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::computenode | gnutls-utils | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::hypervisor | rhev-hypervisor6 | 0 | 0:6.5-20140624.0.el6ev |
| Red Hat:enterprise_linux:6::server | gnutls | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::server | gnutls-debuginfo | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::server | gnutls-devel | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::server | gnutls-guile | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::server | gnutls-utils | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::workstation | gnutls | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::workstation | gnutls-debuginfo | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::workstation | gnutls-devel | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::workstation | gnutls-guile | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:6::workstation | gnutls-utils | 0 | 0:2.8.5-14.el6_5 |
| Red Hat:enterprise_linux:7::client | gnutls | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::client | gnutls-c++ | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::client | gnutls-dane | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::client | gnutls-debuginfo | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::client | gnutls-devel | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::client | gnutls-utils | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::computenode | gnutls | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::computenode | gnutls-c++ | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::computenode | gnutls-dane | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::computenode | gnutls-debuginfo | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::computenode | gnutls-devel | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::computenode | gnutls-utils | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::server | gnutls | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::server | gnutls-c++ | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::server | gnutls-dane | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::server | gnutls-debuginfo | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::server | gnutls-devel | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::server | gnutls-utils | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::workstation | gnutls | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::workstation | gnutls-c++ | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::workstation | gnutls-dane | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::workstation | gnutls-debuginfo | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::workstation | gnutls-devel | 0 | 0:3.1.18-9.el7_0 |
| Red Hat:enterprise_linux:7::workstation | gnutls-utils | 0 | 0:3.1.18-9.el7_0 |
| Ubuntu:14.04:LTS | gnutls26 | 0 | 2.12.23-12ubuntu2.1 |
| Ubuntu:14.04:LTS | gnutls28 | 0 | 3.2.11-2ubuntu1.1 |
| openSUSE:Tumbleweed | gnutls | 0 | 3.4.15-1.1 |
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-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