Release date:
2026-10-08 11:56:41 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:1fc58bb4b4d0992d9eba6d56928a9d9e25a4d4fa
-
alt-python37-debug_3.7.17-35_amd64.deb
sha:a461ac231de898649a1e7cb32757a02f4516e9b8
-
alt-python37-devel_3.7.17-35_amd64.deb
sha:8999f5a7a081068bd248b1c644a9948143f7e7df
-
alt-python37-libs_3.7.17-35_amd64.deb
sha:9d47f9a6cf0325a4e0536243a3f27e22d5161418
-
alt-python37-test_3.7.17-35_amd64.deb
sha:d10265fe96da595f9b9a79cc0bd0b41923da2490
-
alt-python37-tkinter_3.7.17-35_amd64.deb
sha:f92accc723fee62a88fe36ccf900a32b07457ca4
-
alt-python37-tools_3.7.17-35_amd64.deb
sha:6e9f50eb9271d3321f62b6987d2ae22365a25670
-
alt-python37_3.7.17-35_arm64.deb
sha:b861f2e333f3a4b9ec1c7d6af57ee02319d0d64c
-
alt-python37-debug_3.7.17-35_arm64.deb
sha:95ff2c4c9ce9aaf11d44ea2d7fc9504a554e2ed6
-
alt-python37-devel_3.7.17-35_arm64.deb
sha:724cb80c74d3f3668fcc66a10c91ea957daa6aa8
-
alt-python37-libs_3.7.17-35_arm64.deb
sha:b153e10deedc92a0079124ad6002effd658ed68e
-
alt-python37-test_3.7.17-35_arm64.deb
sha:b72f8cf2224a0b8a30aaaa9bc9360635b07bef24
-
alt-python37-tkinter_3.7.17-35_arm64.deb
sha:578318f3d0df1f865b1d3dbe24a816dd1c3350d7
-
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.