Release date:
2026-10-09 07:22:16 UTC
Description:
* SECURITY UPDATE: use-after-free of a server-side ssl.SSLContext when an
sni_callback switches SSLSocket.context. _servername_callback() in
Modules/_ssl.c reached the Python SSLContext through the borrowed pointer
registered with SSL_CTX_set_tlsext_servername_arg(); once the callback
switched the socket to another context and nothing else referenced the
original one, PyErr_WriteUnraisable() after a raising callback, and a
second ClientHello (e.g. after a TLS 1.3 HelloRetryRequest) dispatched
through the surviving session_ctx, used freed memory. The callback now
takes the socket's current context and holds strong references to it
and to its callback, and context_dealloc() unregisters the callback.
- debian/patches/CVE-2026-19445.patch: backport of cpython
ec44b5a3258cbda947d5e07242ee562ed05ef24b (3.10 branch, gh-156293,
GH-158504), adapted to the 3.7 C API (Py_INCREF/Py_XINCREF instead of
Py_NewRef/Py_XNewRef, no get_state_ctx()). Both upstream regression
tests are carried; the unraisable-exception check reads sys.stderr,
as 3.7 has no support.catch_unraisable_exception().
- CVE-2026-19445
* SECURITY UPDATE: ssl.SSLContext.wrap_bio() did not require
server_hostname when check_hostname was enabled, so an SSLObject
(memory-BIO) client, and asyncio's start_tls()/create_connection(
server_hostname=''), verified the certificate chain but silently never
the peer's hostname. Lib/ssl.py now validates the wrap_bio() parameters
with the same _check_sslobject_params() helper as wrap_socket() and
raises ValueError("check_hostname requires server_hostname").
- debian/patches/CVE-2026-19553.patch: backport of cpython PR 158516
(3.11 branch, commits 5de40fab6050 and b8e971fc1615, gh-156793,
GH-158503). Lib/ssl.py is upstream's; the asyncio tests were adapted
because 3.7 calls wrap_bio() lazily from connection_made().
- CVE-2026-19553
Updated packages:
-
alt-python37_3.7.17-35_amd64.deb
sha:d4e8dbd1facd82d6e5028723c4b594d3bec20b88
-
alt-python37-debug_3.7.17-35_amd64.deb
sha:15a4bbc25f5a56ba063f5b83c0d927eaa08d3df3
-
alt-python37-devel_3.7.17-35_amd64.deb
sha:ac703594f9fe138f3e22342c9a1d0244352d9442
-
alt-python37-libs_3.7.17-35_amd64.deb
sha:e735fa7e0a61bb5055081a9849c6ddbb376ae066
-
alt-python37-test_3.7.17-35_amd64.deb
sha:8362e51b9c12d46e03e0d26bf75a53dd6f74941a
-
alt-python37-tkinter_3.7.17-35_amd64.deb
sha:84526383f2d4cafd048ee0aa559c2907143b778c
-
alt-python37-tools_3.7.17-35_amd64.deb
sha:6e9f50eb9271d3321f62b6987d2ae22365a25670
-
alt-python37_3.7.17-35_arm64.deb
sha:92727d2baa1426675e04711c3ffa469b949ac3db
-
alt-python37-debug_3.7.17-35_arm64.deb
sha:519fccf7a85f47348e615cb43049060cfe7b6d15
-
alt-python37-devel_3.7.17-35_arm64.deb
sha:a1e899128f55eb32e4914b3adc9e7dceeaa6c0de
-
alt-python37-libs_3.7.17-35_arm64.deb
sha:abd19b26bf95c01af2cc788692cac1310c2839dd
-
alt-python37-test_3.7.17-35_arm64.deb
sha:eeedf190be133ea8973f1da432dd4af7dcdbf2b1
-
alt-python37-tkinter_3.7.17-35_arm64.deb
sha:9a5b63683f950b5eaeb68d4ff2df6a4b17d0ad28
-
alt-python37-tools_3.7.17-35_arm64.deb
sha:732ba53247c987ee85b45dbbf8683ce19ac23956
Notes:
This page is generated automatically and has not been checked for errors. For clarification or
corrections please contact the
CloudLinux Packaging Team.