CVE-2014-8176
NoneCVSS
—
EPSS
16.6%
Published
Jun 12, 2015
CISA due date
—
Cloudanix analysis
A flaw in how certain encrypted network connections are handled can let outsiders crash applications or potentially access systems, so organizations should update the affected software right away to keep services running safely.
- 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
The dtls1_clear_queues function in OpenSSL frees internal data structures without accounting for application data arriving between ChangeCipherSpec and Finished messages in DTLS, resulting in memory corruption that can crash the application or enable further unspecified impact.
Why it matters to the business
Systems relying on affected OpenSSL versions for DTLS communications face application crashes that disrupt service availability and carry risk of remote code execution or data exposure, especially in environments with legacy or unpatched dependencies such as older phpmyadmin packages.
How an attack unfolds
An attacker acting as a remote DTLS peer sends a crafted sequence of DTLS messages that includes unexpected application data between ChangeCipherSpec and Finished, triggering the vulnerable queue-clearing logic and causing memory corruption; publicly available exploits facilitate this for denial of service or potential further impact.
How to fix it
Upgrade affected phpmyadmin packages on Alpine v3.2 to version 4.4.15.8-r0 or later to incorporate the corrected OpenSSL dependency; apply equivalent patches or updates for any other products using vulnerable OpenSSL 0.9.8 before 0.9.8za, 1.0.0 before 1.0.0m, or 1.0.1 before 1.0.1h.
How to confirm the fix worked
Verify the installed phpmyadmin package version is at least 4.4.15.8-r0 on Alpine v3.2; confirm OpenSSL library versions meet or exceed the fixed releases and test DTLS handshake behavior under load with unexpected data interleaving.
Typical attack path
- Establish a DTLS session with the target
- Send a ChangeCipherSpec message
- Inject unexpected application data before the Finished message
- Trigger dtls1_clear_queues to free structures while data remains
- Observe memory corruption leading to crash or exploitation
How to detect it
Review application and system logs for unexpected DTLS session terminations or crashes around the time of handshake processing; examine memory dumps or core files from affected processes for signs of corruption following DTLS traffic; correlate with network captures showing DTLS packets containing application data between ChangeCipherSpec and Finished messages.
What your security team should do
- Immediately upgrade phpmyadmin to the fixed Alpine package version 4.4.15.8-r0
- Scan the environment for any remaining instances of vulnerable OpenSSL versions in DTLS-enabled components
- Prioritize patching given the public exploit availability despite the age of the issue
- Review DTLS usage and disable it where not required to reduce attack surface
The record
The dtls1_clear_queues function in ssl/d1_lib.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h frees data structures without considering that application data can arrive between a ChangeCipherSpec message and a Finished message, which allows remote DTLS peers to cause a denial of service (memory corruption and application crash) or possibly have unspecified other impact via unexpected application data.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | openssl | 0 | 1.0.1h-1 |
| Debian:12 | openssl | 0 | 1.0.1h-1 |
| Debian:13 | openssl | 0 | 1.0.1h-1 |
| Debian:6.0 | openssl | 0 | 0.9.8o-4squeeze21 |
| Debian:7 | openssl | 0 | 1.0.1e-2+deb7u17 |
| Debian:8 | openssl | 0 | 1.0.1k-3+deb8u1 |
| Red Hat:enterprise_linux:6::client | openssl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::client | openssl-debuginfo | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::client | openssl-devel | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::client | openssl-perl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::client | openssl-static | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::computenode | openssl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::computenode | openssl-debuginfo | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::computenode | openssl-devel | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::computenode | openssl-perl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::computenode | openssl-static | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::server | openssl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::server | openssl-debuginfo | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::server | openssl-devel | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::server | openssl-perl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::server | openssl-static | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::workstation | openssl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::workstation | openssl-debuginfo | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::workstation | openssl-devel | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::workstation | openssl-perl | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:6::workstation | openssl-static | 0 | 0:1.0.1e-30.el6_6.11 |
| Red Hat:enterprise_linux:7::client | openssl | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::client | openssl-debuginfo | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::client | openssl-devel | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::client | openssl-libs | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::client | openssl-perl | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::client | openssl-static | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | openssl | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | openssl-debuginfo | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | openssl-devel | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | openssl-libs | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | openssl-perl | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::computenode | openssl-static | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::server | openssl | 0 | 1:1.0.1e-42.ael7b_1.8 |
| Red Hat:enterprise_linux:7::server | openssl-debuginfo | 0 | 1:1.0.1e-42.ael7b_1.8 |
| Red Hat:enterprise_linux:7::server | openssl-devel | 0 | 1:1.0.1e-42.ael7b_1.8 |
| Red Hat:enterprise_linux:7::server | openssl-libs | 0 | 1:1.0.1e-42.ael7b_1.8 |
| Red Hat:enterprise_linux:7::server | openssl-perl | 0 | 1:1.0.1e-42.ael7b_1.8 |
| Red Hat:enterprise_linux:7::server | openssl-static | 0 | 1:1.0.1e-42.ael7b_1.8 |
| Red Hat:enterprise_linux:7::workstation | openssl | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | openssl-debuginfo | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | openssl-devel | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | openssl-libs | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | openssl-perl | 0 | 1:1.0.1e-42.el7_1.8 |
| Red Hat:enterprise_linux:7::workstation | openssl-static | 0 | 1:1.0.1e-42.el7_1.8 |
| Ubuntu:14.04:LTS | openssl | 0 | 1.0.1f-1ubuntu2.15 |
| openSUSE:Tumbleweed | libressl | 0 | 2.5.0-1.1 |
Related vulnerabilities
- CVE-2024-13176 Issue summary: A timing side-channel which could potentially allow recovering the private… Also affects openssl
- CVE-2024-4741 Issue summary: Calling the OpenSSL API function SSL_free_buffers may cause memory to be… Also affects openssl
- CVE-2024-9143 Issue summary: Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit… Also affects openssl
- CVE-2024-5535 Issue summary: Calling the OpenSSL API function SSL_select_next_proto with an empty… Also affects openssl
- CVE-2024-2511 Issue summary: Some non-default TLS server configurations can cause unbounded memory… Also affects openssl
- CVE-2024-0727 Issue summary: Processing a maliciously formatted PKCS12 file may lead OpenSSL to crash… Also affects openssl
- CVE-2023-5678 Issue summary: Generating excessively long X9.42 DH keys or checking excessively long… Also affects openssl
- CVE-2022-0778 The BN_mod_sqrt() function, which computes a modular square root, contains a bug that can… Also affects openssl