[CLSA-2026:1786556319] Fix CVE(s): CVE-2026-0864, CVE-2026-11940, CVE-2026-11972, CVE-2026-4360
Type:
security
Severity:
Important
Release date:
2026-08-12 17:38:52 UTC
Description:
* SECURITY UPDATE: the tarfile extraction filters ('data' and 'tar') could be bypassed by a crafted archive whose hardlink references a symlink stored at a deeper name than the hardlink itself. The hardlink-extraction fallback validated the symlink at its archived location but recreated it at the hardlink's shallower path, so a relative target could escape the destination directory. Incomplete fix of CVE-2025-4330. - debian/patches/CVE-2026-11940.patch: backport of cpython be13e86f (gh-151558, 3.11 branch). makelink_with_filter now re-runs the filter on the member re-rooted at the link's own path before using the fallback, so an escaping target is rejected with LinkFallbackError. - CVE-2026-11940 * SECURITY UPDATE: configparser wrote multi-line values containing carriage return characters without escaping them, so a value under attacker control could inject unexpected keys, values and sections into the written configuration file. - debian/patches/CVE-2026-0864.patch: backport of cpython 5858e42c (gh-143927). RawConfigParser.write() now normalizes all line endings (CR, CRLF and LF) to "\n\t". - CVE-2026-0864 * SECURITY UPDATE: tarfile did not handle EOF in _Stream.seek() for files opened in streaming mode ("r|"), so a small forged archive whose member header declares a huge size made archive parsing loop once per declared block against an already-exhausted stream, causing a CPU denial of service. - debian/patches/CVE-2026-11972.patch: backport of cpython f50bf135 (gh-151981). The block loop in _Stream.seek() now breaks when read() returns no data, so parsing fails fast with ReadError instead of spinning. - CVE-2026-11972 * SECURITY UPDATE: TarFile.extract() did not pass the extraction filter down to _extract_one(), so on the single-member extract() path the hardlink/symlink extraction fallback recreated the link target without applying the filter: attacker-controlled mode, uid and gid were applied verbatim even with filter='data', and the CVE-2025-4330/CVE-2026-11940 fallback checks never ran there. - debian/patches/CVE-2026-4360.patch: backport of cpython 7ccdbaba (gh-151987, Petr Viktorin). extract() now forwards filter_function to _extract_one(). Adapted to 3.8: fix hunk identical to upstream; the regression tests' parenthesized multi-item "with" blocks are rewritten as backslash-continued statements (3.8 syntax). - CVE-2026-4360
Updated packages:
  • alt-python38_3.8.20-24_amd64.deb
    sha:b7e013cade5a796a0e9401ad17c1470d8d06f406
  • alt-python38-debug_3.8.20-24_amd64.deb
    sha:1fea8b3281a32e129dfa7a6e6d9ec2d61bb927c2
  • alt-python38-devel_3.8.20-24_amd64.deb
    sha:7d63f0b512d30ed0cb401b2b41c089a58feecbf7
  • alt-python38-idle_3.8.20-24_amd64.deb
    sha:142a197ae293e170e9822925f18fc74030b1edcd
  • alt-python38-libs_3.8.20-24_amd64.deb
    sha:9634461685e2963ec7d63640c15a22bd352b87b4
  • alt-python38-test_3.8.20-24_amd64.deb
    sha:ca86926cc106178ccf3768bf87de5a628198b373
  • alt-python38-tkinter_3.8.20-24_amd64.deb
    sha:9577a219143869533033199bb8cda3c33741b2fa
  • alt-python38_3.8.20-24_arm64.deb
    sha:1c603cbc8e5712b01e1c5a4106655425aedb6e91
  • alt-python38-debug_3.8.20-24_arm64.deb
    sha:0f327e11d37a2f63725dc6961af742ed8085f02e
  • alt-python38-devel_3.8.20-24_arm64.deb
    sha:a2365c8efdb474a7422dcd28b5229d64be7120d9
  • alt-python38-idle_3.8.20-24_arm64.deb
    sha:b7729d8032ee442ea0a129604e5c5c45eb458487
  • alt-python38-libs_3.8.20-24_arm64.deb
    sha:eb27ebd9bc2239683cec4f35d7594f7c2d8a1b01
  • alt-python38-test_3.8.20-24_arm64.deb
    sha:b03103a721cc78a662305b11d66332876691f860
  • alt-python38-tkinter_3.8.20-24_arm64.deb
    sha:46cb16abceac5d792f1b7d13bf052f8a1521357a
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.