Skip to content
Heist/ feed
High

TLS 1.3 client ticket store crashed by NewSessionTicket with empty early_data extension in ssl

Type: advisorySource: Official CVE List1 source record

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.

Announced Source revision 1
Original source ↗

CVE-2026-94200

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-94200

OTP

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

OTP

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

OTP

Source reference: /containers/cna/affected/2/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "cpes": [
      "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
    ],
    "vendor": "Erlang",
    "modules": [
      "ssl_handshake",
      "tls_handshake_1_3",
      "tls_client_ticket_store"
    ],
    "product": "OTP",
    "versions": [
      {
        "status": "affected",
        "changes": [
          {
            "at": "27.3.4.19",
            "status": "unaffected"
          },
          {
            "at": "28.5.0.8",
            "status": "unaffected"
          },
          {
            "at": "29.1.2",
            "status": "unaffected"
          }
        ],
        "version": "23.3",
        "lessThan": "*",
        "versionType": "otp"
      }
    ],
    "packageURL": "pkg:software-id/erlang.org/otp",
    "packageName": "otp",
    "programFiles": [
      "lib/ssl/src/ssl_handshake.erl",
      "lib/ssl/src/tls_handshake_1_3.erl",
      "lib/ssl/src/tls_client_ticket_store.erl"
    ],
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "ssl_handshake:decode_extensions/4"
      },
      {
        "name": "tls_handshake_1_3:decode_handshake/2"
      },
      {
        "name": "tls_handshake_1_3:get_max_early_data/1"
      },
      {
        "name": "tls_client_ticket_store:find_ticket/5"
      },
      {
        "name": "tls_client_ticket_store:get_tickets/2"
      }
    ]
  },
  {
    "cpes": [
      "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
    ],
    "repo": "https://github.com/erlang/otp",
    "vendor": "Erlang",
    "modules": [
      "ssl_handshake",
      "tls_handshake_1_3",
      "tls_client_ticket_store"
    ],
    "product": "OTP",
    "versions": [
      {
        "status": "affected",
        "changes": [
          {
            "at": "11.2.12.14",
            "status": "unaffected"
          },
          {
            "at": "11.6.0.7",
            "status": "unaffected"
          },
          {
            "at": "11.7.8",
            "status": "unaffected"
          }
        ],
        "version": "10.3",
        "lessThan": "*",
        "versionType": "otp"
      }
    ],
    "packageURL": "pkg:otp/ssl?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
    "packageName": "ssl",
    "programFiles": [
      "src/ssl_handshake.erl",
      "src/tls_handshake_1_3.erl",
      "src/tls_client_ticket_store.erl"
    ],
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "ssl_handshake:decode_extensions/4"
      },
      {
        "name": "tls_handshake_1_3:decode_handshake/2"
      },
      {
        "name": "tls_handshake_1_3:get_max_early_data/1"
      },
      {
        "name": "tls_client_ticket_store:find_ticket/5"
      },
      {
        "name": "tls_client_ticket_store:get_tickets/2"
      }
    ]
  },
  {
    "cpes": [
      "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
    ],
    "repo": "https://github.com/erlang/otp",
    "vendor": "Erlang",
    "modules": [
      "ssl_handshake",
      "tls_handshake_1_3",
      "tls_client_ticket_store"
    ],
    "product": "OTP",
    "versions": [
      {
        "status": "affected",
        "changes": [
          {
            "at": "66febc190e6dc42a5c4aedbfe250bf9a2edc2d5e",
            "status": "unaffected"
          },
          {
            "at": "00a333bcf2800b69f540369b54167e897dae7219",
            "status": "unaffected"
          },
          {
            "at": "cd0334854bf3ef56dc16f9fb728efe88fb05c4ac",
            "status": "unaffected"
          }
        ],
        "version": "0abe6f66db0d295cd06b0efab3bdb3caa2803930",
        "lessThan": "*",
        "versionType": "git"
      }
    ],
    "packageURL": "pkg:github/erlang/otp",
    "packageName": "erlang/otp",
    "programFiles": [
      "lib/ssl/src/ssl_handshake.erl",
      "lib/ssl/src/tls_handshake_1_3.erl",
      "lib/ssl/src/tls_client_ticket_store.erl"
    ],
    "collectionURL": "https://github.com",
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "ssl_handshake:decode_extensions/4"
      },
      {
        "name": "tls_handshake_1_3:decode_handshake/2"
      },
      {
        "name": "tls_handshake_1_3:get_max_early_data/1"
      },
      {
        "name": "tls_client_ticket_store:find_ticket/5"
      },
      {
        "name": "tls_client_ticket_store:get_tickets/2"
      }
    ]
  }
]
Related CVEs
CVE-2026-94200

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#34426 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement