Repository navigation
ActiveState Release of Python 3.7.17.8
Python 3.7.17.8, an ActiveState security release on top of 3.7.17.7. Merged in #117 and #120. It brings the 3.7 line to the same footing as 3.9.25.x.
Security
- ssl: eMudhra distrust (CVE-2026-115557, pythongh-160040). Chains with a compromised eMudhra key are rejected.
- Upstream security fixes since 3.7 went EOL, everything with a PSF advisory or a Security NEWS entry for 3.8–3.11 that applies to 3.7, ported from the 3.9.25.x line:
- tarfile: the filter-bypass family (CVE-2024-12718, CVE-2025-4138/4330/4435/4517) and every later link fix, plus pythongh-151497 (no pre-allocation from oversized GNU/pax extended-header sizes).
- Other modules: urlsplit host checks, zipfile overlap/zip64, the tempfile race and symlink fixes, the Windows
mkdir(0o700)ACL, the unicode-escape UAF, the HTML5 HTMLParser (pythongh-137836), the http.client, email, imaplib and poplib injection fixes, ipaddress leading zeros and network hash collisions (pythongh-134062),.pthhidden files, and thelistcomparison use-after-free and slice-assignment out-of-bounds (pythongh-120298, pythongh-120384). - DoS fixes in csv, configparser, unicodedata, expandvars, minidom and ElementPath.
- libexpat 2.6.4 → 2.9.0, plus the reparse-deferral API (pythongh-115398).
pyexpatns.hprefixes the new Expat functions so they can't clash with a system libexpat. - ensurepip: pip 23.0.1 → 24.0.post4 and setuptools 47.1.0 → 68.0.0.post3, the ActiveState security releases of the last lines that support 3.7.
Other changes
- Windows
os.path.realpathnow resolves symlinks (bpo-9949, from 3.9.25.x). Without it the tarfiledatafilter can't see symlinks pointing outside the destination on Windows, so 3.7.17.7 is affected. This is a behavior change, matching 3.8+. - Windows build:
/OPT:REF,NOICF(bpo-42825), and the zlib import library isz.libwhenshared/zlib1.3.2+ provides one.
The full list is in Doc/whatsnew/3.7.rst. Not included: fixes that don't apply to 3.7 (CVE-2024-8088, CVE-2026-2297, CVE-2026-12003, pythongh-121957, pythongh-98793), behavior changes upstream kept to 3.13+ (CVE-2025-12781, CVE-2026-3446, CVE-2026-6019), and the disputed CVE-2023-36632 and CVE-2026-3479.
Testing
- Linux x86_64 (OpenSSL 1.1.1w), full suite against a 3.7.17.7 build: no test case fails only on the new build, and
test_ipaddress,test_tempfileand the etree tests, which fail on 3.7.17.7, now pass. - Windows x64 (VS 2022 v143, ActiveState zlib 1.3.2 / xz 5.8.4): 46 test modules covering every change, no case fails only on the new build.
- Review follow-ups were rerun module by module on both platforms; pythongh-151497 was checked with a crafted 512-byte header that raises
MemoryErrorbefore the fix andReadErrorafter.