[CLSA-2026:1786556660] 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:44:33 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:c9cab1b7af1ce1cb4a2c10052e9120c35e65c1d4
  • alt-python38-debug_3.8.20-24_amd64.deb
    sha:0b8736624dee5cdda6732e8457ba21b336861e16
  • alt-python38-devel_3.8.20-24_amd64.deb
    sha:ba3106283d2052a0a5faa7e5d5a9c2ca371ad291
  • alt-python38-idle_3.8.20-24_amd64.deb
    sha:7ce5da4568659af61cc74a4a6f6e5d174707e8a3
  • alt-python38-libs_3.8.20-24_amd64.deb
    sha:9b3f42bb228eff2b46b024d5bf51b0f59d03fc7a
  • alt-python38-test_3.8.20-24_amd64.deb
    sha:25e7bfa26f4583b426ebaf32535c28a80bd9568b
  • alt-python38-tkinter_3.8.20-24_amd64.deb
    sha:548a4f2628ed0696f1fa82b7963d4f8d1c404137
  • alt-python38_3.8.20-24_arm64.deb
    sha:a401b6c1f81aab6ca25121a2ea434dd0d21612dc
  • alt-python38-debug_3.8.20-24_arm64.deb
    sha:7698bde95ab997c981bdebee50451647498bc293
  • alt-python38-devel_3.8.20-24_arm64.deb
    sha:55641c7ad6780c3696fd3f02da3f770e434b1cfc
  • alt-python38-idle_3.8.20-24_arm64.deb
    sha:0241adcc2d33f9f3d4a38309bb79e6145c110958
  • alt-python38-libs_3.8.20-24_arm64.deb
    sha:9487312a4537c8b95e3ef979d21509bead0ef4ad
  • alt-python38-test_3.8.20-24_arm64.deb
    sha:5f424a720227ab92e93d84722733ecca5f1becd4
  • alt-python38-tkinter_3.8.20-24_arm64.deb
    sha:8111cf255fdc4983b8694e67a794409c28234055
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.