CVE-2015-8960 in TLS Protocolinfo

Summary

by MITRE

The TLS protocol 1.2 and earlier supports the rsa_fixed_dh, dss_fixed_dh, rsa_fixed_ecdh, and ecdsa_fixed_ecdh values for ClientCertificateType but does not directly document the ability to compute the master secret in certain situations with a client secret key and server public key but not a server secret key, which makes it easier for man-in-the-middle attackers to spoof TLS servers by leveraging knowledge of the secret key for an arbitrary installed client X.509 certificate, aka the "Key Compromise Impersonation (KCI)" issue.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 04/21/2019

The vulnerability described in CVE-2015-8960 represents a critical weakness in the Transport Layer Security protocol version 1.2 and earlier implementations, specifically within the certificate type handling mechanisms. This flaw manifests in the TLS protocol's support for fixed Diffie-Hellman and elliptic curve Diffie-Hellman key exchange methods through the ClientCertificateType values including rsa_fixed_dh, dss_fixed_dh, rsa_fixed_ecdh, and ecdsa_fixed_ecdh. The core issue lies in the protocol's inability to properly document or enforce the secure computation of master secrets in scenarios where a client possesses a secret key corresponding to an X.509 certificate that has been arbitrarily installed on a system. This oversight creates a significant security gap that directly enables man-in-the-middle attacks by allowing attackers to impersonate legitimate TLS servers when they have knowledge of a client's private key.

The technical exploitation of this vulnerability occurs through the manipulation of the key exchange process during TLS handshakes. When a client certificate is installed with a fixed Diffie-Hellman or elliptic curve Diffie-Hellman configuration, the protocol allows for master secret computation using only the client's secret key and the server's public key, without requiring the server's secret key. This creates a scenario where an attacker who has compromised a client's private key can leverage this information to generate valid session keys and establish fraudulent TLS connections. The vulnerability specifically affects implementations that do not properly validate or restrict the use of these fixed key exchange methods, allowing for the possibility of key compromise impersonation attacks where the attacker can masquerade as a legitimate server.

From an operational impact perspective, this vulnerability fundamentally undermines the trust model that TLS protocols are designed to maintain. The Key Compromise Impersonation issue enables attackers to bypass traditional certificate validation mechanisms and establish secure-looking connections with unsuspecting clients. This vulnerability is particularly dangerous because it can be exploited without requiring access to the server's private key, making it accessible to attackers who have only compromised a client certificate. The implications extend beyond simple data interception to include complete trust delegation manipulation, where attackers can convince clients that they are communicating with legitimate servers while actually controlling the communication channel. This vulnerability affects all systems implementing TLS 1.2 and earlier versions that support the specified fixed Diffie-Hellman and elliptic curve Diffie-Hellman client certificate types, creating widespread exposure across numerous applications and services.

The mitigation strategies for CVE-2015-8960 require immediate implementation of protocol updates and configuration changes to prevent exploitation. Organizations should disable support for fixed Diffie-Hellman and elliptic curve Diffie-Hellman client certificate types unless absolutely necessary for legacy compatibility. The recommended approach involves updating TLS implementations to enforce proper key exchange validation and ensure that master secret computation requires appropriate key material from both parties. This vulnerability aligns with CWE-327, which addresses the use of weak cryptographic algorithms and improper key exchange mechanisms, and maps to ATT&CK technique T1573.002 for "Tunneling through TLS" and T1071.002 for "Application Layer Protocol: File Transfer Protocol." System administrators should also implement certificate monitoring and key management practices to detect and respond to potential key compromise scenarios. The most effective long-term solution involves upgrading to TLS 1.3 implementations which do not support these vulnerable fixed key exchange methods and provide stronger cryptographic guarantees for session establishment and key derivation processes.

Reservation

09/20/2016

Disclosure

09/20/2016

Moderation

accepted

Entry

VDB-91774

CPE

ready

EPSS

0.01947

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!