[CLSA-2026:1791458282] Fix CVE(s): CVE-2026-19445, CVE-2026-19553
Type:
security
Severity:
Critical
Release date:
2026-10-08 11:18:19 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:b0c74bb0148a7411d72fddb24b4f5b189db78f25
  • alt-python37-debug_3.7.17-35_amd64.deb
    sha:6a45bf6c0749a92fec3348b561b84c1b37fbc700
  • alt-python37-devel_3.7.17-35_amd64.deb
    sha:aae993f8b7230e28512a43cf170f53a4ec6bfd99
  • alt-python37-libs_3.7.17-35_amd64.deb
    sha:673826974cd87752d5726db771d01a8b19345a32
  • alt-python37-test_3.7.17-35_amd64.deb
    sha:da52bcbbdfe2806bb94c98f9d49744a3766d8684
  • alt-python37-tkinter_3.7.17-35_amd64.deb
    sha:a97c64ddbd06a5fc7fe0f62aa98e2a1152eab11c
  • alt-python37-tools_3.7.17-35_amd64.deb
    sha:7c0ae441445f991c04e5bbab1cd37b7949f67458
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.