Repository navigation
Release 25.0.1.post1
First ActiveState security release for pip 25.0.1, the last pip for Python 3.8. Merged in #6.
| CVE | Advisory | Status |
|---|---|---|
| CVE-2025-8869 | GHSA-4xh5-x5gv-qwph | Patched, plus the pypa#14127 hardening (affects 3.8.0–3.8.16, which have no data_filter) |
| CVE-2026-1703 | GHSA-6vgw-5pg2-w6jp | Patched |
| CVE-2026-3219 | GHSA-58qw-9mgm-455v | Patched |
| CVE-2026-6357 | GHSA-jp4c-xjxw-mgf9 | Patched |
| CVE-2026-8643 | GHSA-wf93-45jw-7689 | Patched (exploitable here; distlib 0.3.9) |
| CVE-2026-13346 | GHSA-qwm4-qh6w-59xr | Patched |
| — | GHSA-6q48-6c7w-9gw2 | Patched: vendored certifi 2024.8.30 → 2026.10.19 (emSign, critical) |
Review-round hardening (also in this release):
- CVE-2025-8869 follow-up: pypa#14127 is ported, rejecting symlink redirection in the tar fallback.
- Path checks: containment checks are root-safe and
//-safe. - Archive members: symlink targets are matched against normalized member names.
- Error messages: an unsafe download file name now gives a pip
ERROR:instead of a traceback.
Validated on the built wheel, in the matching python:X-slim image:
- CVE-2026-6357: the end-to-end
_manylinuxexploit is not executed. - CVE-2026-1703: the sibling-prefix wheel is blocked.
- CVE-2025-8869: both pypa#14127 escape archives are refused.
- Archive shapes: valid
./-prefixed and implied-directory archives unpack. - Bundled certifi: the bundle has no emSign ECC G3, TrustCor, E-Tugra or GLOBALTRUST roots.
- Network: a real
pip downloadfrom PyPI works.
sha256
pip-25.0.1.post1.tar.gz:6df47022cb9742a835ab64a7e13379f73636405f152b8fdaed517f7f3eab735bpip-25.0.1.post1-py3-none-any.whl:182fbd0d01fb0757ca6c0fd5e9a4290699a2115d950060c055f15b7795655de0