[CLSA-2026:1779437172] Fix CVE(s): CVE-2025-15282, CVE-2026-0672, CVE-2026-3644, CVE-2026-4224
Type:
security
Severity:
Moderate
Release date:
2026-05-25 13:04:41 UTC
Description:
* SECURITY UPDATE: urllib.request.DataHandler accepted data: URLs whose mediatype contained control characters, allowing newline-based HTTP header injection downstream. - debian/patches/CVE-2025-15282.patch: backport of cpython f25509e78e (gh-143925, Seth Larson). Adds a [\\x00-\\x1F\\x7F] regex check in data_open() and a matching test_invalid_mediatype. - CVE-2025-15282 * SECURITY UPDATE: http.cookies.Morsel did not reject control characters in keys / values / coded_value, allowing cookie injection via __setitem__, setdefault, set, and BaseCookie.output. - debian/patches/CVE-2026-0672.patch: backport of cpython 95746b3a13 (gh-143919, Seth Larson). Adds _has_control_character helper and inserts validation in __setitem__, setdefault, set, plus a wrap of BaseCookie.OutputString / output. - CVE-2026-0672 * SECURITY UPDATE: the CVE-2026-0672 fix was incomplete; control characters could still bypass via Morsel.update(), |=, __setstate__ (pickle), and BaseCookie.js_output(). - debian/patches/CVE-2026-3644.patch: backport of cpython 57e88c1cf9 (gh-145599, Stan Ulbrych + Victor Stinner). Adds validation to Morsel.update(), defines explicit Morsel.__ior__ (was inherited from dict and bypassed validation), validates __setstate__ before assigning attributes, and re-validates the assembled output string in js_output(). - CVE-2026-3644 * 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: 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 RecursionError instead of crashing. - CVE-2026-4224
Updated packages:
  • alt-python38_3.8.20-16_amd64.deb
    sha:4784a5e881785dca89caf1693fdb71d90f36dc07
  • alt-python38-debug_3.8.20-16_amd64.deb
    sha:d606cbb3f1052eebc49f8335fd26a639d6bbc15e
  • alt-python38-devel_3.8.20-16_amd64.deb
    sha:813b043f08fddc2acb7be327b520ab3a78e4d53b
  • alt-python38-idle_3.8.20-16_amd64.deb
    sha:38d3f9ff4068bcc117a0348aff06a230a949ed85
  • alt-python38-libs_3.8.20-16_amd64.deb
    sha:c4d4e22a25c727bfbd440be89a4442128f30511a
  • alt-python38-test_3.8.20-16_amd64.deb
    sha:2452c69fd8534f98cf84afb11867bbf9c0b6f70e
  • alt-python38-tkinter_3.8.20-16_amd64.deb
    sha:d982ea864cf79b32a0965750665c2d89e5c8b888
  • alt-python38_3.8.20-16_arm64.deb
    sha:af6ae4751e656dfe3a2b8f0fd2ffd7f7fbba3f4b
  • alt-python38-debug_3.8.20-16_arm64.deb
    sha:4f501cc322ca5dfbb4b2c5cae68b2bf88d584404
  • alt-python38-devel_3.8.20-16_arm64.deb
    sha:797272bd80c193fbae2a821f00a6c2a440c66226
  • alt-python38-idle_3.8.20-16_arm64.deb
    sha:b3b7e98cd6b8f787ecca81817192901b89304f35
  • alt-python38-libs_3.8.20-16_arm64.deb
    sha:8bcb99a7b9a978e2958fad4ae854b1843fd61810
  • alt-python38-test_3.8.20-16_arm64.deb
    sha:3a8a3e6d6ef571158053f9d81944e1b6bf28d2a6
  • alt-python38-tkinter_3.8.20-16_arm64.deb
    sha:f6efaa8b772d408e3ac4113869cbea105a418d91
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.