[CLSA-2026:1786610708] 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:45:22 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:89af2546766c1f4f93f84cbf852565855a5856bf
  • alt-python38-debug_3.8.20-24_amd64.deb
    sha:246f76bc4bf469a3ac2ccd365d5ffabe50d7fa97
  • alt-python38-devel_3.8.20-24_amd64.deb
    sha:bc2a1a3d23eae3999d1f824d3cc2a182a936a322
  • alt-python38-idle_3.8.20-24_amd64.deb
    sha:c9df510a5091ec6d3abf889ab6f55172d6a80350
  • alt-python38-libs_3.8.20-24_amd64.deb
    sha:08758079ad860b40418376125eb8d9385b34a58e
  • alt-python38-test_3.8.20-24_amd64.deb
    sha:bd6066051147401b3e5b1a50a2c79efb35c4013c
  • alt-python38-tkinter_3.8.20-24_amd64.deb
    sha:35988f171c58d80c5e74d0efe3d951fe35f991b4
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.