[From nobody Sat Oct 24 12:51:05 2026
Received: (at submit) by bugs.debian.org; 23 Oct 2026 03:09:07 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-107.5 required=4.0 tests=ALL_TRUSTED,BAYES_00,
 DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,
 FROMDEVELOPER,SPF_HELO_NONE,SPF_PASS,USER_IN_DKIM_WELCOMELIST
 autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 54; hammy, 150; neutral, 235; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;carnil@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:35538)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;carnil@debian.org&gt;) id 1xK5eV-00CciV-35
 for submit@bugs.debian.org; Fri, 23 Oct 2026 03:09:07 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Content-Transfer-Encoding:Content-Type
 :MIME-Version:Message-ID:Subject:To:From:Date:Reply-To:Cc:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=U6MN9ET3eNPGUgDQz4tSiAxctjHGbMn63R1Iw7i9hac=; b=Fxg3ozf+ZK61CucoLUtJATdk3x
 Tg64OZ7hNQlve8EV1Q16pLZw+IB6tbqDA7sxPBqlKlMNj/rOQErpVmmQh3DhXN8OInRKgDgwY/bfr
 8eMWPLQoSDJq3DS4JjkZw3cc7dZ28+EFhVkirflJp2+jfeTCBMf/l9eUzgfocvnX0WOjiAoZ3HqFl
 nHPmseWLJWbc+7ed6eq8DYmvnaJPiJ7qcyA9Y9Bkuh74wEEzSwUiMruLBos2XRKSGbnRgU9FqCN6Z
 0jbfJGYJIBzrhd9jLif07aY/xuoifF+sPxLrKOqb0W8J7fb+XzUguRHbSi6n/YQa1fVoyoOiDpQKL
 KaWvZtJA==;
Received: from authenticated-user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;carnil@debian.org&gt;) id 1xK5eQ-002say-1c
 for submit@bugs.debian.org; Fri, 23 Oct 2026 03:09:03 +0000
Received: by eldamar.lan (Postfix, from userid 1000)
 id B9B87DC056E; Fri, 23 Oct 2026 05:09:01 +0200 (CEST)
Date: Fri, 23 Oct 2026 05:09:01 +0200
From: Salvatore Bonaccorso &lt;carnil@debian.org&gt;
To: submit@bugs.debian.org
Subject: erlang: CVE-2026-94200 CVE-2026-96596 CVE-2026-105236
Message-ID: &lt;atrPzf8ZdLpIN2XW@eldamar.lan&gt;
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-Debian-User: carnil
Delivered-To: submit@bugs.debian.org

Source: erlang
Version: 1:29.1.1+dfsg-1
X-Debbugs-CC: team@security.debian.org
Severity: grave
Tags: security upstream

Hi,

The following vulnerabilities were published for erlang.

CVE-2026-94200[0]:
| 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.


CVE-2026-96596[1]:
| Loop with Unreachable Exit Condition ('Infinite Loop') vulnerability
| in Erlang OTP stdlib (erl_tar module), hexpm hex_core (hex_erl_tar
| module), hexpm hex (mix_hex_erl_tar module) and erlang rebar3
| (r3_hex_erl_tar module) allows an attacker who supplies a tar
| archive to cause a denial of service via a crafted GNU sparse
| member.  When erl_tar:extract/1,2 writes a member to disk,
| erl_tar:stream_to_file_loop/3 reads it in chunks of 65536 bytes by
| default. For a GNU sparse member whose sparse map ends before its
| real size, erl_tar:do_sparse_read/3 matches its trailing-hole clause
| before its zero-length clause. After the chunk is used up, the
| trailing-hole clause reads zero bytes, does not advance the
| position, and recurses forever. A 2048-byte archive keeps the
| extracting process and one scheduler busy until the process is
| killed. The {max_size, N} option prevents this only when N is below
| the real size of the member. Extraction with the memory option is
| not affected.  hex_core ships its own copy of erl_tar as
| hex_erl_tar, and Hex and rebar3 ship hex_core with prefixed module
| names (mix_hex_erl_tar and r3_hex_erl_tar). These copies contain the
| same code and do not call stdlib's erl_tar, so they are affected on
| any OTP version. OTP 28 is not affected, but an application running
| on OTP 28 is affected if it extracts archives through an affected
| version of hex_core, Hex or rebar3.  This issue affects OTP from
| OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1
| before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2
| before 2.5.3; hex_core: from 0.14.0 before 0.20.1.


CVE-2026-105236[2]:
| Improper Certificate Validation vulnerability in the ssl application
| in Erlang/OTP allows a client that holds a certificate trusted by
| one SNI virtual host to authenticate to a second SNI virtual host on
| the same listener by resuming its TLS 1.2 session there.  A server
| that serves several SNI names from one listen socket through sni_fun
| or sni_hosts keeps one pre-TLS 1.3 session cache per listener and
| does not bind a cached session to the SNI name or client trust
| policy that established it. When an SNI option set switches to
| verify_peer without naming reuse_sessions,
| ssl_config:update_options/3 inherits the base listener's
| reuse_sessions value of true, so the default that disables reuse for
| client-authenticating servers does not apply. On an abbreviated
| handshake ssl_session:is_resumable/4 checks only that the cached
| session uses one of the current server certificates and carries some
| peer certificate, and never revalidates that certificate against the
| CA selected for the requested name. The names must share a server
| certificate, which is common with wildcard or multi-SAN
| certificates. TLS 1.3 does not use this cache and is not affected.
| This issue affects OTP from OTP 18.0 before OTP 27.3.4.19,
| OTP 28.5.0.8, and OTP 29.1.2, corresponding to ssl from 7.0 before
| 11.2.12.14, 11.6.0.7, and 11.7.8.


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities &amp; Exposures) ids in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-94200
    https://www.cve.org/CVERecord?id=CVE-2026-94200
[1] https://security-tracker.debian.org/tracker/CVE-2026-96596
    https://www.cve.org/CVERecord?id=CVE-2026-96596
[2] https://security-tracker.debian.org/tracker/CVE-2026-105236
    https://www.cve.org/CVERecord?id=CVE-2026-105236

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore
]