[CLSA-2026:1793092402] Fix CVE(s): CVE-2026-115557
Type:
security
Severity:
Critical
Release date:
2026-10-27 12:12:39 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:408e3e4ca0648b51df7e4119b982dd7466b6cc8e
  • alt-python39-debug_3.9.23-34_amd64.deb
    sha:e2ab37c66b189c681343401b56c7775c90036a55
  • alt-python39-devel_3.9.23-34_amd64.deb
    sha:ca9fe7b68ffb35a5ae5f8f80e2cd02fcdef956d1
  • alt-python39-idle_3.9.23-34_amd64.deb
    sha:816fd46c905c321fbf6c65706b39cf04366a1046
  • alt-python39-libs_3.9.23-34_amd64.deb
    sha:a380b68024acd85cf595d124c17a46b07f0bd55f
  • alt-python39-test_3.9.23-34_amd64.deb
    sha:823b4a5bc9e5b08d5ed1280234252b6e1e805dc3
  • alt-python39-tkinter_3.9.23-34_amd64.deb
    sha:9fe918ef5f100e3e5f5dedd7e6cfdbbc0b48b8a6
  • alt-python39_3.9.23-34_arm64.deb
    sha:97e7394cfd5e716c2fd72ed9a856300ee96129e9
  • alt-python39-debug_3.9.23-34_arm64.deb
    sha:6de9963a4cf2c2fd716ff09a5091fbe1e809af00
  • alt-python39-devel_3.9.23-34_arm64.deb
    sha:f9d2f4fa6bc5c2fd77a37fa8fbaeca3ea8963daa
  • alt-python39-idle_3.9.23-34_arm64.deb
    sha:7acf009481c9038716bdf739c7b9a89aad541a63
  • alt-python39-libs_3.9.23-34_arm64.deb
    sha:129749d0e1fa055f7ce9fd10bfe6e9f4f2fe6f09
  • alt-python39-test_3.9.23-34_arm64.deb
    sha:73be5bb2fb860dff1b368a0a4ef5e70d20c497e9
  • alt-python39-tkinter_3.9.23-34_arm64.deb
    sha:c2926f4bdc695410fa555560feec29124ba8ed74
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.