TLS 1.3 client ticket store crashed by NewSessionTicket with empty early_data extension in ssl (Erlang OTP)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.46 % · percentile 40 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- EEF
- NVD status
- Deferred
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.
Weaknesses (CWE)
- CWE-1288 — Improper Validation of Consistency within Input
References
- https://github.com/erlang/otp/security/advisories/GHSA-m5mh-q53w-67jq
- https://cna.erlef.org/cves/CVE-2026-94200.html
- https://osv.dev/vulnerability/EEF-CVE-2026-94200
- https://www.erlang.org/doc/system/versions.html#order-of-versions
- https://github.com/erlang/otp/commit/0abe6f66db0d295cd06b0efab3bdb3caa2803930
- https://github.com/erlang/otp/commit/66febc190e6dc42a5c4aedbfe250bf9a2edc2d5e
- https://github.com/erlang/otp/commit/00a333bcf2800b69f540369b54167e897dae7219
- https://github.com/erlang/otp/commit/cd0334854bf3ef56dc16f9fb728efe88fb05c4ac
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 4.0 | HIGH 8.2 | 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 | EEF |
| CVSS 4.0 | HIGH 8.2 | 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 | NVD · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db (Secondary) |
European references
- ENISA EUVD · EUVD-2026-101384
- GCVE · GCVE-0-2026-94200
Affected products
| Product | Versions |
|---|---|
| Erlang · OTP | affected 23.3 < * |
| Erlang · OTP | affected 10.3 < * |
| Erlang · OTP | affected 0abe6f66db0d295cd06b0efab3bdb3caa2803930 < * |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |