Time-of-check Time-of-use (TOCTOU) Race Condition in Erlang OTP - CVE-2026-55950
Published: July 2, 2026
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
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
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