Release date:
2026-05-27 11:29:12 UTC
Description:
* SECURITY UPDATE: xml.parsers.expat and xml.etree.ElementTree used
insufficient entropy (a single Py_hash_t) to seed Expat's
hash-flooding protection, allowing a crafted XML document to
trigger hash flooding (CWE-331). The CPython side and the
libexpat side of the fix are paired -- the new XML_SetHashSalt16Bytes
call sites are inert unless the linked libexpat exposes the
16-byte salt API. Because alt-python37 statically links the
bundled Modules/expat/ tree (libexpat 2.5.0), we backport both
halves here.
- debian/patches/CVE-2026-7210.patch: backport of cpython
24b8f12544 (gh-149018, Stan Ulbrych). Adds the
XML_SetHashSalt16Bytes function pointer to the pyexpat CAPI and
uses it with 16 bytes of entropy in pyexpat.c and
_elementtree.c when the 16-byte salt API is available; falls
back to legacy XML_SetHashSalt otherwise. The original upstream
conditional only checks XML_COMBINED_VERSION >= 20800; we widen
it to also activate when the feature-test macro
XML_HAS_SET_HASH_SALT_16_BYTES is defined, which our bundled
expat patch exposes (see CVE-2026-41080.patch). On builds that
use system libexpat (--with-system-expat, e.g. Alpine), the
macro is absent and the version check still applies normally.
- debian/patches/CVE-2026-41080.patch: backport of libexpat
PR #1183 (https://github.com/libexpat/libexpat/pull/1183),
restricted to the C sources needed for the bundled static
link (Modules/expat/expat.h, internal.h, xmlparse.c). Widens
the per-parser salt storage to a full struct sipkey (128 bits)
and adds XML_SetHashSalt16Bytes. Also defines the alt-python-
specific feature-test macro XML_HAS_SET_HASH_SALT_16_BYTES so
the CPython side can detect the backported API without bumping
XML_COMBINED_VERSION (the bundled tree still reports 2.5.0).
Together with CVE-2026-7210 this activates the 16-byte salt
path inside pyexpat / xml.etree against the bundled expat,
restoring proper hash-flood mitigation.
- CVE-2026-7210
- CVE-2026-41080
Updated packages:
-
alt-python37_3.7.17-20_amd64.deb
sha:c58a93e0380bf826068566eb6cf10c78aff171d7
-
alt-python37-debug_3.7.17-20_amd64.deb
sha:604aeeaaaea9ebe4824313655a6413d78b0949fd
-
alt-python37-devel_3.7.17-20_amd64.deb
sha:c53dfa0b6edb2a9255d708253d64424c7db8160a
-
alt-python37-libs_3.7.17-20_amd64.deb
sha:8b5bf0e6e25e5d442c8c3a8bff04893ab16fbd92
-
alt-python37-test_3.7.17-20_amd64.deb
sha:7f34b79a8cfaf8b642cc413c30e7540c14864a70
-
alt-python37-tkinter_3.7.17-20_amd64.deb
sha:c95a1561898b62c707f33451e06b93525f27c8a9
-
alt-python37-tools_3.7.17-20_amd64.deb
sha:8a29edc1c1914eb4c3594e634fea76d8028e4a63
-
alt-python37_3.7.17-20_arm64.deb
sha:5002b0bb6b4329ddc2e39521b1e08c55bd415187
-
alt-python37-debug_3.7.17-20_arm64.deb
sha:3129637cdfcda630deb9bc16f12e377e3a560266
-
alt-python37-devel_3.7.17-20_arm64.deb
sha:c1c73d8d7c02ef094da36a3b83cdf1a0cb9c2fdb
-
alt-python37-libs_3.7.17-20_arm64.deb
sha:4d5d2e29380f6559a08f91c4d5fad64e66cd1fe3
-
alt-python37-test_3.7.17-20_arm64.deb
sha:263cec99942d01ce84f016c27231e9accf267a46
-
alt-python37-tkinter_3.7.17-20_arm64.deb
sha:448a10e2fda59da9fe29b588ee654f3d4e2ef92a
-
alt-python37-tools_3.7.17-20_arm64.deb
sha:c1aaa6e61f4212a516cc8cc110adf306d5d0d79a
Notes:
This page is generated automatically and has not been checked for errors. For clarification or
corrections please contact the
CloudLinux Packaging Team.