CVE-2026-54887: DTLS server cookie bypass during startup window due to empty initial cookie secret
Use of Default Cryptographic Key vulnerability in Erlang/OTP ssl (DTLS server) allows predictable DTLS cookie computation during the startup window, enabling source address verification bypass.
On DTLS server startup, dtlsserverconnection:initialhello/3 initializes previouscookiesecret to the empty binary (<<>>) instead of a random value. Because HMAC with an empty key is deterministic, anyone who observes the plaintext ClientHello can compute dtlshandshake:cookie(<<>>, IP, Port, Hello) and forge a valid DTLS cookie before the first rotation of the cookie secret. The DTLS cookie (RFC 6347 §4.2.1) is a denial-of-service mitigation that prevents spoofed source IPs from forcing the server to allocate state and perform expensive cryptographic operations; it is not an authentication mechanism. During the window from server startup until the first secret rotation (0 to 15 seconds), an attacker who can observe the plaintext ClientHello can bypass the source address verification, enabling DTLS handshake amplification with spoofed source addresses.
This vulnerability is associated with program file lib/ssl/src/dtlsserverconnection.erl and program routine dtlsserverconnection:initialhello/3.
This issue affects OTP from OTP 20.0 before 29.0.3, 28.5.0.3 and 27.3.4.14 corresponding to ssl from 8.2 before 11.7.3, 11.6.0.3 and 11.2.12.10.
Other sources
Use of Default Cryptographic Key vulnerability in Erlang/OTP ssl (DTLS server) allows predictable DTLS cookie computation during the startup window, enabling source address verification bypass.
On DTLS server startup, dtlsserverconnection:initialhello/3 initializes previouscookiesecret to the empty binary (<<>>) instead of a random value. Because HMAC with an empty key is deterministic, anyone who observes the plaintext ClientHello can compute dtlshandshake:cookie(<<>>, IP, Port, Hello) and forge a valid DTLS cookie before the first rotation of the cookie secret. The DTLS cookie (RFC 6347 §4.2.1) is a denial-of-service mitigation that prevents spoofed source IPs from forcing the server to allocate state and perform expensive cryptographic operations; it is not an authentication mechanism. During the window from server startup until the first secret rotation (0 to 15 seconds), an attacker who can observe the plaintext ClientHello can bypass the source address verification, enabling DTLS handshake amplification with spoofed source addresses.
This vulnerability is associated with program file lib/ssl/src/dtlsserverconnection.erl and program routine dtlsserverconnection:initialhello/3.
This issue affects OTP from OTP 20.0 before OTP 29.0.3, OTP 28.5.0.3 and OTP 27.3.4.14, corresponding to ssl from 8.2 before 11.7.3, 11.6.0.3 and 11.2.12.10.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Erlang/OTP ssl (DTLS server)to a version that resolves this vulnerability.Fixed in 29.0.3 - Upgrade
Upgrade
Erlang/OTP ssl (DTLS server)to a version that resolves this vulnerability.Fixed in 28.5.0.3 - Upgrade
Upgrade
Erlang/OTP ssl (DTLS server)to a version that resolves this vulnerability.Fixed in 27.3.4.14 - Upgrade
Upgrade
Erlang/OTP ssl (DTLS server)to a version that resolves this vulnerability.Fixed in 11.7.3 - Upgrade
Upgrade
Erlang/OTP ssl (DTLS server)to a version that resolves this vulnerability.Fixed in 11.6.0.3 - Upgrade
Upgrade
Erlang/OTP ssl (DTLS server)to a version that resolves this vulnerability.Fixed in 11.2.12.10
Event History
Frequently Asked Questions
What is the severity of CVE-2026-54887?
CVE-2026-54887 has a risk score of 29, indicating a significant vulnerability.
How do I fix CVE-2026-54887?
To mitigate CVE-2026-54887, update Erlang/OTP to the latest version that addresses this vulnerability.
What does CVE-2026-54887 affect?
CVE-2026-54887 affects the DTLS server component of Erlang/OTP's ssl module.
What is the exploit mechanism for CVE-2026-54887?
CVE-2026-54887 exploits the use of a default cryptographic key, allowing a predictable DTLS cookie computation.
When was CVE-2026-54887 published?
CVE-2026-54887 was published on July 2, 2026.