Release date:
2026-05-20 15:15:00 UTC
Description:
* SECURITY UPDATE: Modules/pyexpat.c conv_content_model could overflow
the C stack when an Expat parser with a registered ElementDeclHandler
parsed a deeply nested DTD content model, causing a denial-of-service.
- debian/patches/CVE-2026-4224.patch: C-level backport of cpython
eb0e8be3a7 (gh-145986, Stan Ulbrych + Bénédikt Tran). Wraps
conv_content_model with Py_EnterRecursiveCall / Py_LeaveRecursiveCall
so deep nesting raises RuntimeError instead of crashing. The
upstream Lib/test/test_pyexpat.py test addition is skipped: it
depends on test.support.infinite_recursion() which only exists
in Python 3.x test.support.
- CVE-2026-4224
* SECURITY UPDATE: Lib/Cookie.py Morsel accepts control characters
in reserved-attribute values, in key/value/coded_value via .set(),
and via the inherited dict.update() / pickle restoration paths,
allowing newline-based HTTP header injection via Set-Cookie. The
upstream CVE description and py3 fix target Lib/http/cookies.py
(which does not exist in py2); a runtime POC confirmed the same
vulnerability class is reachable through py2's Cookie module via
five distinct write paths.
- debian/patches/CVE-2026-0672-CVE-2026-3644.patch: py2 adaptation
of cpython 95746b3a13 (gh-143919, Seth Larson) and 57e88c1cf9
(gh-145599, Stan Ulbrych + Victor Stinner). Adds a
_has_control_character helper and validates at Morsel.__setitem__,
.setdefault, .set, an explicit .update, an explicit .__setstate__,
plus re-validates the assembled output in Morsel.js_output and
BaseCookie.output (defence-in-depth against direct attribute
mutation). The py3 __ior__ hunk is not ported (py2 dict has no
`|=` operator). Doctest fixture `keebler="...fudge=\012;"` is
updated to drop the embedded newline, mirroring the upstream
doctest fix.
- CVE-2026-0672, CVE-2026-3644
Updated packages:
-
alt-python27_2.7.18-19_amd64.deb
sha:22796728bfb4f3a2ddeca394c3b6b1fa110cc9be
-
alt-python27-debug_2.7.18-19_amd64.deb
sha:0af689a6876561e9bd0909d36c3cdfbb8d98f098
-
alt-python27-devel_2.7.18-19_amd64.deb
sha:8f426ed84406307ed9834c4f563fdb241fdcaa35
-
alt-python27-idle_2.7.18-19_amd64.deb
sha:f769a8948e59496a382b1f7abad097846dbae643
-
alt-python27-libs_2.7.18-19_amd64.deb
sha:1dd3bcf69d94d7ccb1f962381065258e271601a0
-
alt-python27-test_2.7.18-19_amd64.deb
sha:a94554e456be433835abfaa7bd1216d696e1ab8d
-
alt-python27-tkinter_2.7.18-19_amd64.deb
sha:ba0e40a31e3f948fcaf0b5ac2a41d820ba2544a0
-
alt-python27-tools_2.7.18-19_amd64.deb
sha:bb6bfac416b92518d0601c25d2532750a23bcf03
-
alt-python27_2.7.18-19_arm64.deb
sha:4672adf66cf0e192f8cdc12fa13a18fabaf543dc
-
alt-python27-debug_2.7.18-19_arm64.deb
sha:84479c8426f5cb4f19253126d9dea69f79affdbe
-
alt-python27-devel_2.7.18-19_arm64.deb
sha:6081359c146d12a0a201c432153f4dccde193ecf
-
alt-python27-idle_2.7.18-19_arm64.deb
sha:b4fa5a6a5f74be65cd8c596b32e92976f44914f9
-
alt-python27-libs_2.7.18-19_arm64.deb
sha:55a9c6a9c803b7dae4a9c1cd9d61ecce720d46db
-
alt-python27-test_2.7.18-19_arm64.deb
sha:3fef8ca224ef437bc2f1de321283718664c93c31
-
alt-python27-tkinter_2.7.18-19_arm64.deb
sha:fe6e5a79d339f66ebc6f3e77e5b224e60f897cfc
-
alt-python27-tools_2.7.18-19_arm64.deb
sha:a5e4c6010b20093797d8ca95ff81ae1ae813e06d
Notes:
This page is generated automatically and has not been checked for errors. For clarification or
corrections please contact the
CloudLinux Packaging Team.