CVE-2026-55950

DTLS listener crash via race condition in dtls_packet_demux causes denial of service for all sessions

MEDIUM
5.9
CVSS Score
Published: July 2, 2026 at 04:06 PM UTC
Updated: October 25, 2026 at 09:10 PM UTC
2 products affected across 1 vendorErlang /otpErlang /ssl

Using OTP by Erlang?

Get instant alerts when new vulnerabilities affect OTP - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.9
Exploit prediction
EPSS 0.4%
SSVC
No known exploit

Description

Time-of-check Time-of-use (TOCTOU) race condition vulnerability in Erlang/OTP ssl (dtls_packet_demux module) allows an unauthenticated remote attacker to crash all active DTLS sessions on a listener. A DTLS server listener uses a single shared dtls_packet_demux gen_server process to route incoming UDP datagrams to the correct connection handler. When a DTLS client reconnects rapidly from the same source address and port (sending multiple ClientHello messages in quick succession), a race condition in the demux's internal gb_trees key-value store causes a {key_exists, {old, Client}} crash, terminating the demux process. Because the demux is shared across all DTLS associations on that listener, its crash immediately kills every active DTLS session, not just the attacker's. The attack is pre-authentication: the attacker only needs to send UDP datagrams containing valid ClientHello messages from the same source IP and port before the intermediate DOWN monitor message is processed by the gen_server. No credentials, no completed handshake, and no special configuration are required, and the crash can be repeated indefinitely to create a persistent denial of service for all clients of that listener. This vulnerability is associated with program file lib/ssl/src/dtls_packet_demux.erl. This issue affects OTP from OTP 25.3 before 29.0.3, 28.5.0.3, and 27.3.4.14 corresponding to ssl from 10.9 before 11.7.3, 11.6.0.3, and 11.2.12.10.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

25.3 ≤ v < 27.3.4.1428.0 ≤ v < 28.5.0.329.0 ≤ v < 29.0.310.925.344dcb4c3d900777493ce2a6129f451aa475811f9
Vendor states this is fixed in e44d2bf01c4473ef2ea7f09e3523cf96de6e4a04 (fixed)
Affected range stops below 27.3.4.14, so it looks safe — our inference, not a vendor statement
Affected range stops below 28.5.0.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 29.0.3, so it looks safe — our inference, not a vendor statement
10.9 ≤ v < 11.2.12.1011.3 ≤ v < 11.6.0.311.7 ≤ v < 11.7.3
Affected range stops below 11.2.12.10, so it looks safe — our inference, not a vendor statement
Affected range stops below 11.6.0.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 11.7.3, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (5)

SSVC — Action Prioritization

SSVCNo known exploitAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
NETWORK
Complexity
HIGH
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-367

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card