[CLSA-2026:1793102958] Fix CVE(s): CVE-2026-115557
Type:
security
Severity:
Critical
Release date:
2026-10-27 15:08:56 UTC
Description:
* SECURITY UPDATE: ssl accepted TLS certificate chains signed by eMudhra intermediate CAs whose private keys were compromised (CWE-295). An attacker holding one of those keys can mint a certificate for any name that still chains to a publicly trusted root, and every ssl client keeps accepting it until the distrust reaches the platform root store, the container image, or a CA bundle vendored inside a Python package. - debian/patches/CVE-2026-115557.patch: backport of cpython gh-160040 / GH-160042, which adds Modules/_ssl/distrusted_spki.h - a denylist of the SHA-256 digests of the eight compromised SubjectPublicKeyInfo structures - and enforces it from a new _ssl_verify_callback() in Modules/_ssl.c, rejecting a matching chain with X509_V_ERR_CERT_REJECTED. Matching the public key rather than a certificate fingerprint also covers cross-signs that reuse one of those keys. Upstream shipped this in 3.11.18/3.12.16/3.13.18/3.14.10/3.15.2 only, so 3.9 needs it carried. The header keeps its upstream path, since 3.9 already has a Modules/_ssl/ directory. _set_verify_mode() installs the new callback in place of 3.9's "keep current verify cb" block, which matches upstream's end state because nothing else installs a context-level verify callback. Upstream's newPySSLSocket() hunk is already present in 3.9 verbatim. The Makefile.pre.in MODULE__SSL_DEPS hunk becomes an entry in the _ssl extension's depends list in setup.py, since 3.9 builds extensions from setup.py. X509_V_ERR_UNSPECIFIED gets an #ifndef fallback to its OpenSSL value (1) for el7's OpenSSL 1.0.2. Upstream's tests are not carried: they need the encrypted Lib/test/certdata/distrusted.zip fixture and the Lib/test/certdata layout that 3.9 does not have. - CVE-2026-115557
CVEs fixed:
Updated packages:
  • alt-python39_3.9.23-34_amd64.deb
    sha:e632934258a0b4bc3ec8e2fbf828ea705a139ea2
  • alt-python39-debug_3.9.23-34_amd64.deb
    sha:e2ab37c66b189c681343401b56c7775c90036a55
  • alt-python39-devel_3.9.23-34_amd64.deb
    sha:bbf524487af8b3b71c37384d609a12aff46dd7c5
  • alt-python39-idle_3.9.23-34_amd64.deb
    sha:9334f4c23351ee0bbd00a70978a3b56a1169f333
  • alt-python39-libs_3.9.23-34_amd64.deb
    sha:f1d18bb27fb2160c07d12ab968027e29039b7607
  • alt-python39-test_3.9.23-34_amd64.deb
    sha:e0eb1d6365db0d52f994463bcb2992828d8a7cd1
  • alt-python39-tkinter_3.9.23-34_amd64.deb
    sha:a37fc0b2fc640872e74e16270895d9621e2e751a
  • alt-python39_3.9.23-34_arm64.deb
    sha:d180fee0667048e244e3a513902e98d5969feefd
  • alt-python39-debug_3.9.23-34_arm64.deb
    sha:6de9963a4cf2c2fd716ff09a5091fbe1e809af00
  • alt-python39-devel_3.9.23-34_arm64.deb
    sha:441d1da5bdd233f3135e0ee21fe75d1588512793
  • alt-python39-idle_3.9.23-34_arm64.deb
    sha:4e3d79941daa448c8bf32ce26dfa403e7e3233fc
  • alt-python39-libs_3.9.23-34_arm64.deb
    sha:ed3f9580c81921eb17b075de61f8af741fce64d1
  • alt-python39-test_3.9.23-34_arm64.deb
    sha:237fe13c345e5d5a05c632ddad8872ccd12b7da7
  • alt-python39-tkinter_3.9.23-34_arm64.deb
    sha:15268dee7549a803b80a28a00d43b7f79f0638c3
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.