Release date:
2026-05-27 11:37:09 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:378bee39583eb41ab534edce3d1a6ff6f586e83c
-
alt-python37-debug_3.7.17-20_amd64.deb
sha:4d3e4f37a2e96a677d87a0ac54bfe63f7817ac57
-
alt-python37-devel_3.7.17-20_amd64.deb
sha:8a19e4dbdccd1e15d88c10c68716133c3224fe50
-
alt-python37-libs_3.7.17-20_amd64.deb
sha:a1069f3a1a3a419a815a114b4b6c9370d40379bd
-
alt-python37-test_3.7.17-20_amd64.deb
sha:dbab4a0afe09d7af287637f0889ade5243ca6d4b
-
alt-python37-tkinter_3.7.17-20_amd64.deb
sha:cb7bc6815fc2c0e80a30019fb545561c707a20da
-
alt-python37-tools_3.7.17-20_amd64.deb
sha:8a29edc1c1914eb4c3594e634fea76d8028e4a63
-
alt-python37_3.7.17-20_arm64.deb
sha:3a0cee1dbe25de03608dcd9b4023e4ce17839d6c
-
alt-python37-debug_3.7.17-20_arm64.deb
sha:564c79b9a080dc7f9e2dda6e0f1ea1d2d2042334
-
alt-python37-devel_3.7.17-20_arm64.deb
sha:2ab9fa210d1caa6a6147d3a69ea36c4214aa14d0
-
alt-python37-libs_3.7.17-20_arm64.deb
sha:98b214a0f03ee8caf5e77e9735b8b79c92539b15
-
alt-python37-test_3.7.17-20_arm64.deb
sha:a284b516bf1f156c67a754311bca7723daa3ecf6
-
alt-python37-tkinter_3.7.17-20_arm64.deb
sha:90117c87dc6585329870125ee021b5a191afcc9f
-
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.