[CLSA-2026:1786610354] Fix CVE(s): CVE-2026-0864, CVE-2026-11940, CVE-2026-11972, CVE-2026-4360
Type:
security
Severity:
Important
Release date:
2026-08-13 08:39:29 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:38c1d95b61dd7f020f38de81e8fe1372a2669637
  • alt-python38-debug_3.8.20-24_amd64.deb
    sha:be46ae9e022812a3f7f8fa667bb018f5d44a95ab
  • alt-python38-devel_3.8.20-24_amd64.deb
    sha:a9b5f20904debe449ef28645b4a6f5c9068657ce
  • alt-python38-idle_3.8.20-24_amd64.deb
    sha:92ce04272a96958e453d3dd775ac67bdb8559b4f
  • alt-python38-libs_3.8.20-24_amd64.deb
    sha:5e531b3b53de244b357e064299a9fb03a9593fae
  • alt-python38-test_3.8.20-24_amd64.deb
    sha:bd570295c32021642666472785e3af558beaca3e
  • alt-python38-tkinter_3.8.20-24_amd64.deb
    sha:d6c8f0574b17b01cb1a7bbdde89f0038516eb4fd
  • alt-python38_3.8.20-24_arm64.deb
    sha:121b2586a6eb659fd1f59ba29d52a60c06ef3d5b
  • alt-python38-debug_3.8.20-24_arm64.deb
    sha:08d27166c51f2726a8ed47989db344fb0ec2605d
  • alt-python38-devel_3.8.20-24_arm64.deb
    sha:7774da04a49476315a14578583a5082dd58df92e
  • alt-python38-idle_3.8.20-24_arm64.deb
    sha:712015cb5a660d33b02fdf03232ad1aa4cafd676
  • alt-python38-libs_3.8.20-24_arm64.deb
    sha:62e7288887926920c2065313649ed6f4d148287a
  • alt-python38-test_3.8.20-24_arm64.deb
    sha:49e095e62f3b7d623c7dd6198d83f7d42994594a
  • alt-python38-tkinter_3.8.20-24_arm64.deb
    sha:c1a2be5ec0f7ed8e8993dbac4669a6513e996442
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.