[CLSA-2026:1786608885] 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:14:59 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:55bd54564f51a9f6cdd2c6a35ae8a671028e17ec
  • alt-python38-debug_3.8.20-24_amd64.deb
    sha:60452db44b147c31ca1db33d5a8866c0fec3cd2f
  • alt-python38-devel_3.8.20-24_amd64.deb
    sha:22b5119eff0b16fde63a5c3983e8c2bc080bf5f0
  • alt-python38-idle_3.8.20-24_amd64.deb
    sha:b691429a618c3e3e158a64ef0ea815f6c621af40
  • alt-python38-libs_3.8.20-24_amd64.deb
    sha:4a1e9ec43922edd3c729d5fc1426f4772dbb5320
  • alt-python38-test_3.8.20-24_amd64.deb
    sha:01bc3c51ba258a2d14ba2511cbe1d69ee76545c1
  • alt-python38-tkinter_3.8.20-24_amd64.deb
    sha:349e3ae7df31a045de9094465891c40397857f21
  • alt-python38_3.8.20-24_arm64.deb
    sha:9e1fa3e0c39e7a43c0d430cd450f1c0aa2ec600c
  • alt-python38-debug_3.8.20-24_arm64.deb
    sha:d899fcb1b96bc5be26f9427a32694f3ee66886f4
  • alt-python38-devel_3.8.20-24_arm64.deb
    sha:5963b72fc43d07d2b2cc078f5040f71272150bee
  • alt-python38-idle_3.8.20-24_arm64.deb
    sha:5940ec71c7fda5c03d18d39c8231c56942dfcf0e
  • alt-python38-libs_3.8.20-24_arm64.deb
    sha:a10616e383f38ff334e47e3633c6e9aacc857b5e
  • alt-python38-test_3.8.20-24_arm64.deb
    sha:0f980e718515441e757a3daea0baa826c1b755b8
  • alt-python38-tkinter_3.8.20-24_arm64.deb
    sha:d91b5fbd0f14715612f4216d17102f488ad28a1c
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.