[CLSA-2026:1779273813] Fix CVE(s): CVE-2025-15282, CVE-2026-0672, CVE-2026-3644, CVE-2026-4224
Type:
security
Severity:
Moderate
Release date:
2026-05-20 10:43:38 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:2600ebe9a3808ddc5067de6efe8a987b0666d506
  • alt-python38-debug_3.8.20-16_amd64.deb
    sha:5280eeded12385d6320d167d8bbc3c12ad05271b
  • alt-python38-devel_3.8.20-16_amd64.deb
    sha:775e1fa35b4f6869f977efc7fac1ae636947bf09
  • alt-python38-idle_3.8.20-16_amd64.deb
    sha:2b92dbea4b19d780ac46e8444266fac4c4fc3625
  • alt-python38-libs_3.8.20-16_amd64.deb
    sha:dd686272643a7b378a56f8019da0728fa607d7b6
  • alt-python38-test_3.8.20-16_amd64.deb
    sha:ce9d0c1bab62ac7d0a4415dd42baa4f9f5ab3586
  • alt-python38-tkinter_3.8.20-16_amd64.deb
    sha:3a07af0bfc1a430ec749c8e695d24f5fcae10170
  • alt-python38_3.8.20-16_arm64.deb
    sha:bd77073d8d7beadfd52865eb889da1bb94765fea
  • alt-python38-debug_3.8.20-16_arm64.deb
    sha:69c750d9bd2e9813df62ce8f5313b2d9571d3a42
  • alt-python38-devel_3.8.20-16_arm64.deb
    sha:5967559e3aad4d5396337bf3f07bbf7295488c6f
  • alt-python38-idle_3.8.20-16_arm64.deb
    sha:e3ad2e21a7eac5524faec5f06d6ecc6daa141a19
  • alt-python38-libs_3.8.20-16_arm64.deb
    sha:3d022e4c9c6a0f240d489ac628f73a3cba746ae3
  • alt-python38-test_3.8.20-16_arm64.deb
    sha:59a227f5fea7a74e665fa55e748e2cfe680fd960
  • alt-python38-tkinter_3.8.20-16_arm64.deb
    sha:1fcfec7a376980141a0ccebd0ff30ea700d7ea90
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.