CVE-2015-1794
NoneCVSS
—
EPSS
5.0%
Published
Dec 6, 2015
CISA due date
—
Cloudanix analysis
Older versions of OpenSSL can crash when a client connects to a specially crafted server during encrypted communications.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Remote server can trigger a segmentation fault in ssl3_get_key_exchange by sending a ServerKeyExchange message containing a zero p value during an anonymous Diffie-Hellman handshake, causing the OpenSSL client to crash.
Why it matters to the business
Applications acting as TLS clients using vulnerable OpenSSL versions may experience unexpected crashes and service interruptions when connecting to malicious or compromised servers.
How an attack unfolds
An attacker hosts a server configured for anonymous Diffie-Hellman key exchange and responds to a client connection with a crafted ServerKeyExchange containing p=0; the client's ssl3_get_key_exchange function fails to handle the invalid parameter and crashes.
How to fix it
Upgrade OpenSSL to version 1.0.2e or later. Disable anonymous Diffie-Hellman ciphersuites in client configurations where feasible.
How to confirm the fix worked
Verify installed OpenSSL version is 1.0.2e or newer; attempt a TLS connection to a test server offering anonymous DH to confirm absence of crash.
Typical attack path
- Attacker configures a server to offer anonymous Diffie-Hellman ciphersuites
- Victim client initiates a TLS handshake to the attacker-controlled server
- Server sends ServerKeyExchange message with zero p value
- Client processes the message in ssl3_get_key_exchange and segfaults
How to detect it
Review application and system logs for segmentation faults occurring during TLS client handshakes; search for crashes referencing ssl3_get_key_exchange or s3_clnt.c.
- segmentation fault.*ssl3_get_key_exchange
- ssl/s3_clnt.c
What your security team should do
- Prioritize upgrade of all OpenSSL 1.0.2 installations to 1.0.2e or newer
- Audit client configurations to remove anonymous DH ciphersuites
- Monitor for application crashes during outbound TLS connections
The record
The ssl3_get_key_exchange function in ssl/s3_clnt.c in OpenSSL 1.0.2 before 1.0.2e allows remote servers to cause a denial of service (segmentation fault) via a zero p value in an anonymous Diffie-Hellman (DH) ServerKeyExchange message.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | openssl | 0 | 1.0.2e-1 |
| Debian:12 | openssl | 0 | 1.0.2e-1 |
| Debian:13 | openssl | 0 | 1.0.2e-1 |
| Mageia:5 | openssl | 0 | 1.0.2e-1.mga5 |
| Ubuntu:14.04:LTS | openssl | 0 | 1.0.1f-1ubuntu2.15 |
| Ubuntu:14.04:LTS | openssl | 0 | 1.0.1f-1ubuntu2.16 |
| openSUSE:Tumbleweed | openssl-1_1 | 0 | 1.1.1l-1.2 |
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