Ad · Leaderboard 728×90

CVE-2026-94200

8.2High

Published 14 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash

8.2High
Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None
Impact
High impact on availability
Weakness
CWE-1288

Impact

A malicious TLS 1.3 server can crash the ssl application on your client node, cutting off all TLS connections node-wide. The attacker only needs your Erlang client to connect to their server with automatic session tickets enabled.

Root cause

The TLS 1.3 client misparses NewSessionTicket extensions using EncryptedExtensions rules, storing an invalid zero-length early_data extension that crashes the ticket store on resumption.

Affected systems

Erlang/OTP 23.3 before 27.3.4.19, 28.5.0.8, and 29.1.2 (ssl application versions 10.3 before 11.2.12.14, 11.6.0.7, and 11.7.8)

CVSS v4.0 · CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Fix & remediation

Upgrade Erlang/OTP to version 27.3.4.19, 28.5.0.8, 29.1.2, or later. If you cannot patch immediately, disable automatic session ticket storage by avoiding the {session_tickets, auto} TLS client option.

shell
$ erl -eval 'io:format("OTP: ~s, SSL: ~s~n", [erlang:system_info(otp_release), proplists:get_value(vsn, ssl:module_info(attributes))]), halt().' -noshell

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD description

Improper Validation of Consistency within Input vulnerability in Erlang OTP ssl (tls_handshake_1_3, ssl_handshake and tls_client_ticket_store modules) allows a malicious TLS 1.3 server to cause a denial of service of the ssl application on the client node. The TLS 1.3 client decodes the extensions of a NewSessionTicket message as if they came from EncryptedExtensions. It therefore accepts a 0-length early_data extension, a form that is only valid in ClientHello and EncryptedExtensions. With {session_tickets, auto}, the client stores the ticket in the node-global tls_client_ticket_store. On the next automatic resumption, tls_handshake_1_3:get_max_early_data/1 crashes the store with a case_clause. Repeated crashes can exceed the restart intensity of the ssl supervisors, which use the rest_for_one strategy, and take down ssl for all connections on the node. This issue affects OTP from OTP 23.3 before OTP 27.3.4.19, OTP 28.5.0.8, and OTP 29.1.2, corresponding to ssl from 10.3 before 11.2.12.14, 11.6.0.7, and 11.7.8.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-94200

Ad · Sticky 320×50 / 728×90