Time-of-check Time-of-use (TOCTOU) Race Condition in Erlang OTP - CVE-2026-55950

 

Time-of-check Time-of-use (TOCTOU) Race Condition in Erlang OTP - CVE-2026-55950

Published: July 2, 2026


Vulnerability identifier: #VU136824
CSH Severity: Medium
CVSS v4: 8.7 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2026-55950
CWE-ID: CWE-367
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to cause a denial of service.

The vulnerability exists due to a time-of-check time-of-use race condition in the dtls_packet_demux gen_server process when handling rapid DTLS client reconnects from the same source address and port. A remote attacker can send multiple valid ClientHello datagrams in quick succession to cause a denial of service.

The crash of the shared demultiplexing process terminates all active DTLS sessions on the affected listener, and no completed handshake or credentials are required.


Affected software

Erlang OTP
Debian Linux
SUSE Linux Enterprise Server 15 SP6
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Real Time 15
Server Applications Module
openSUSE Leap
openEuler
erlang-syntax_tools
erlang-edoc
erlang-diameter
erlang-dialyzer
erlang-debugsource
erlang-debuginfo
erlang-debugger
erlang-crypto
erlang-compiler
erlang-common_test
erlang-asn1
erlang
erlang-xmerl
erlang-wx
erlang-tools
erlang-tftp
erlang-eldap
erlang-stdlib
erlang-ssl
erlang-ssh
erlang-src
erlang-snmp
erlang-sasl
erlang-runtime_tools
erlang-reltool
erlang-public_key
erlang-parsetools
erlang-os_mon
erlang-odbc
erlang-observer
erlang-mnesia
erlang-megaco
erlang-kernel
erlang-jinterface
erlang-inets
erlang-ftp
erlang-examples
erlang-eunit
erlang-et
erlang-erts
erlang-erl_interface
erlang-erl_docgen
erlang26-epmd-debuginfo
erlang26-doc
erlang26-diameter
erlang26-wx-debuginfo
erlang26-observer-src
erlang26-src
erlang26-debuginfo
erlang26-diameter-src
erlang26-observer
erlang26-dialyzer
erlang26
erlang26-jinterface-src
erlang26-et-src
erlang26-dialyzer-debuginfo
erlang26-debugsource
erlang26-epmd
erlang26-jinterface
erlang26-wx-src
erlang26-dialyzer-src
erlang26-wx
erlang26-et
erlang26-debugger
erlang26-reltool-src
erlang26-reltool
erlang26-debugger-src
erlang27-src
erlang27-dialyzer-debuginfo
erlang27-reltool-src
erlang27-dialyzer
erlang27-debuginfo
erlang27-diameter-src
erlang27-epmd
erlang27
erlang27-dialyzer-src
erlang27-debugsource
erlang27-reltool
erlang27-jinterface-src
erlang27-jinterface
erlang27-epmd-debuginfo
erlang27-diameter
erlang (Debian package)

How to mitigate CVE-2026-55950

Install security update from vendor's website.

Erlang OTP - addressed in versions 27.3.4.14, 28.5.0.3, 29.0.3
erlang-syntax_tools - update to 25.3.2.6-18
erlang-edoc - update to 25.3.2.6-18
erlang-diameter - update to 25.3.2.6-18
erlang-dialyzer - update to 25.3.2.6-18
erlang-debugsource - update to 25.3.2.6-18
erlang-debuginfo - update to 25.3.2.6-18
erlang-debugger - update to 25.3.2.6-18
erlang-crypto - update to 25.3.2.6-18
erlang-compiler - update to 25.3.2.6-18
erlang-common_test - update to 25.3.2.6-18
erlang-asn1 - update to 25.3.2.6-18
erlang - update to 25.3.2.6-18
erlang-xmerl - update to 25.3.2.6-18
erlang-wx - update to 25.3.2.6-18
erlang-tools - update to 25.3.2.6-18
erlang-tftp - update to 25.3.2.6-18
erlang-eldap - update to 25.3.2.6-18
erlang-stdlib - update to 25.3.2.6-18
erlang-ssl - update to 25.3.2.6-18
erlang-ssh - update to 25.3.2.6-18
erlang-src - update to 25.3.2.6-18
erlang-snmp - update to 25.3.2.6-18
erlang-sasl - update to 25.3.2.6-18
erlang-runtime_tools - update to 25.3.2.6-18
erlang-reltool - update to 25.3.2.6-18
erlang-public_key - update to 25.3.2.6-18
erlang-parsetools - update to 25.3.2.6-18
erlang-os_mon - update to 25.3.2.6-18
erlang-odbc - update to 25.3.2.6-18
erlang-observer - update to 25.3.2.6-18
erlang-mnesia - update to 25.3.2.6-18
erlang-megaco - update to 25.3.2.6-18
erlang-kernel - update to 25.3.2.6-18
erlang-jinterface - update to 25.3.2.6-18
erlang-inets - update to 25.3.2.6-18
erlang-ftp - update to 25.3.2.6-18
erlang-examples - update to 25.3.2.6-18
erlang-eunit - update to 25.3.2.6-18
erlang-et - update to 25.3.2.6-18
erlang-erts - update to 25.3.2.6-18
erlang-erl_interface - update to 25.3.2.6-18
erlang-erl_docgen - update to 25.3.2.6-18
erlang26-epmd-debuginfo - update to 26.2.1-150300.7.28.1
erlang26-doc - update to 26.2.1-150300.7.28.1
erlang26-diameter - update to 26.2.1-150300.7.28.1
erlang26-wx-debuginfo - update to 26.2.1-150300.7.28.1
erlang26-observer-src - update to 26.2.1-150300.7.28.1
erlang26-src - update to 26.2.1-150300.7.28.1
erlang26-debuginfo - update to 26.2.1-150300.7.28.1
erlang26-diameter-src - update to 26.2.1-150300.7.28.1
erlang26-observer - update to 26.2.1-150300.7.28.1
erlang26-dialyzer - update to 26.2.1-150300.7.28.1
erlang26 - update to 26.2.1-150300.7.28.1
erlang26-jinterface-src - update to 26.2.1-150300.7.28.1
erlang26-et-src - update to 26.2.1-150300.7.28.1
erlang26-dialyzer-debuginfo - update to 26.2.1-150300.7.28.1
erlang26-debugsource - update to 26.2.1-150300.7.28.1
erlang26-epmd - update to 26.2.1-150300.7.28.1
erlang26-jinterface - update to 26.2.1-150300.7.28.1
erlang26-wx-src - update to 26.2.1-150300.7.28.1
erlang26-dialyzer-src - update to 26.2.1-150300.7.28.1
erlang26-wx - update to 26.2.1-150300.7.28.1
erlang26-et - update to 26.2.1-150300.7.28.1
erlang26-debugger - update to 26.2.1-150300.7.28.1
erlang26-reltool-src - update to 26.2.1-150300.7.28.1
erlang26-reltool - update to 26.2.1-150300.7.28.1
erlang26-debugger-src - update to 26.2.1-150300.7.28.1
erlang27-src - update to 27.1.3-150300.7.7.1
erlang27-dialyzer-debuginfo - update to 27.1.3-150300.7.7.1
erlang27-reltool-src - update to 27.1.3-150300.7.7.1
erlang27-dialyzer - update to 27.1.3-150300.7.7.1
erlang27-debuginfo - update to 27.1.3-150300.7.7.1
erlang27-diameter-src - update to 27.1.3-150300.7.7.1
erlang27-epmd - update to 27.1.3-150300.7.7.1
erlang27 - update to 27.1.3-150300.7.7.1
erlang27-dialyzer-src - update to 27.1.3-150300.7.7.1
erlang27-debugsource - update to 27.1.3-150300.7.7.1
erlang27-reltool - update to 27.1.3-150300.7.7.1
erlang27-jinterface-src - update to 27.1.3-150300.7.7.1
erlang27-jinterface - update to 27.1.3-150300.7.7.1
erlang27-epmd-debuginfo - update to 27.1.3-150300.7.7.1
erlang27-diameter - update to 27.1.3-150300.7.7.1
erlang (Debian package) - update to 1:27.3.4.1+dfsg-1+deb13u3

External References

Related Security Bulletins