CVE-2026-54887 Details
Description
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, dtls_server_connection:initial_hello/3 initializes previous_cookie_secret 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 dtls_handshake: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/dtls_server_connection.erl and program routine dtls_server_connection:initial_hello/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.
A vulnerability in the Erlang/OTP SSL module's DTLS server implementation allows for a predictable computation of DTLS cookies during the server's startup phase. This predictability can be exploited to bypass source address verification. When the DTLS server starts, the 'previous_cookie_secret' is set to an empty binary instead of a random value. This empty key makes the HMAC computation deterministic. An observer of the ClientHello message can calculate a valid DTLS cookie and forge it before the cookie secret is first rotated. This vulnerability affects several versions of Erlang/OTP and the corresponding SSL module.
Users can upgrade to Erlang/OTP versions 29.0.3, 28.5.0.3, or 27.3.4.14 to address this vulnerability.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Jul 2, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.erlef.org/cves/CVE-2026-54887.html | EEF | Vendor Advisory |
| https://github.com/erlang/otp/commit/888e3bcd72d5406016b9e0de741026bc2a6f114d | EEF | Patch |
| https://github.com/erlang/otp/security/advisories/GHSA-p2m2-3c2w-8jp8 | EEF | Vendor Advisory |
| https://osv.dev/vulnerability/EEF-CVE-2026-54887 | EEF | Third Party Advisory |
| https://www.erlang.org/doc/system/versions.html#order-of-versions | EEF | Release Notes |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-1394 | Use of Default Cryptographic Key | EEF |
Affected Products
| Product | Versions |
|---|---|
| erlang erlang/otp | >= 20.0, < 27.3.4.14 >= 28.0, < 28.5.0.3 >= 29.0, < 29.0.3 |
CPE
Remediation
| |
| erlang erlang/ssl | >= 8.2, < 11.2.12.10 >= 11.3, < 11.6.0.3 >= 11.7, < 11.7.3 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 24, 2026 | CVE Modified | EEF |
| Jul 7, 2026 | Initial Analysis | [email protected] |
| Jul 2, 2026 | CVE Modified | CISA-ADP |
| Jul 2, 2026 | New CVE Received | EEF |