Cloudanix VulnDB

CVE-2015-1794

None

CVSS

—

EPSS

5.0%

Published

Dec 6, 2015

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Attacker configures a server to offer anonymous Diffie-Hellman ciphersuites
  2. Victim client initiates a TLS handshake to the attacker-controlled server
  3. Server sends ServerKeyExchange message with zero p value
  4. 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