CVE-2026-55950: CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition in Erlang OTP
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 OTP 29.0.3, OTP 28.5.0.3 and OTP 27.3.4.14, corresponding to ssl from 10.9 before 11.7.3, 11.6.0.3 and 11.2.12.10.
AI Analysis
Technical Summary
The vulnerability is a time-of-check to time-of-use (TOCTOU) race condition in the dtls_packet_demux gen_server process used by Erlang/OTP's DTLS server listener. When a client rapidly reconnects from the same source address and port, sending multiple ClientHello messages in quick succession, a race condition in the internal gb_trees key-value store causes a {key_exists, {old, Client}} crash. This crash terminates the shared demux process, which routes incoming UDP datagrams to connection handlers, thereby killing all active DTLS sessions on that listener. The attack requires no credentials or completed handshake and can be repeated indefinitely to maintain denial of service. The issue affects OTP versions from 25.3 before 29.0.3, 28.5.0.3, and 27.3.4.14, corresponding to ssl versions 10.9 before 11.7.3, 11.6.0.3, and 11.2.12.10.
Potential Impact
An unauthenticated remote attacker can cause a denial of service by crashing the shared dtls_packet_demux process, which immediately terminates all active DTLS sessions on the affected listener. This disrupts all clients connected to that listener, not just the attacker, potentially causing widespread service interruption.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch links are provided in the current data. Until a patch is available, consider mitigating by limiting rapid reconnections from the same source IP and port if possible, though no specific vendor guidance is given.
CVE-2026-55950: CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition in Erlang OTP
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 OTP 29.0.3, OTP 28.5.0.3 and OTP 27.3.4.14, corresponding to ssl from 10.9 before 11.7.3, 11.6.0.3 and 11.2.12.10.
CVSS v4.0
Score 8.7high
Affected software
cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability is a time-of-check to time-of-use (TOCTOU) race condition in the dtls_packet_demux gen_server process used by Erlang/OTP's DTLS server listener. When a client rapidly reconnects from the same source address and port, sending multiple ClientHello messages in quick succession, a race condition in the internal gb_trees key-value store causes a {key_exists, {old, Client}} crash. This crash terminates the shared demux process, which routes incoming UDP datagrams to connection handlers, thereby killing all active DTLS sessions on that listener. The attack requires no credentials or completed handshake and can be repeated indefinitely to maintain denial of service. The issue affects OTP versions from 25.3 before 29.0.3, 28.5.0.3, and 27.3.4.14, corresponding to ssl versions 10.9 before 11.7.3, 11.6.0.3, and 11.2.12.10.
Potential Impact
An unauthenticated remote attacker can cause a denial of service by crashing the shared dtls_packet_demux process, which immediately terminates all active DTLS sessions on the affected listener. This disrupts all clients connected to that listener, not just the attacker, potentially causing widespread service interruption.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch links are provided in the current data. Until a patch is available, consider mitigating by limiting rapid reconnections from the same source IP and port if possible, though no specific vendor guidance is given.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-06-17T17:55:15.685Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a46a8b827e9c79719cc4ac4
Added to database: 07/02/2026, 18:06:48 UTC
Last enriched: 08/15/2026, 17:18:32 UTC
Last updated: 08/16/2026, 00:41:14 UTC
Views: 364
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.