Skip to content

pip 20.3.4.post4 (Py2.7): vendored certifi 2026.10.23.post1 - #10

Merged
icanhasmath merged 1 commit into
20.3.4.xfrom
20.3.4.post4-certifi-2026.10.23
Oct 28, 2026
Merged

icanhasmath merged 1 commit into
20.3.4.xfrom
20.3.4.post4-certifi-2026.10.23

Conversation

@icanhasmath

Copy link
Copy Markdown

Security release pip 20.3.4.post4 for the Python 2.7 line. Follow-up to GHSA-6q48-6c7w-9gw2, the eMudhra/emSign CA key compromise.

Change

  • certifi: the vendored copy moves from 2026.10.19.post1 to 2026.10.23.post1, which is ActiveState/certifi 2026.10.23.post1. Its cacert.pem is byte-identical to upstream certifi 2026.10.23's.
  • Removed roots: this drops emSign Root CA - C1 and emSign ECC Root CA - C3. The previous release already removed emSign ECC Root CA - G3, so emSign Root CA - G1 is now the only emSign root in the bundle.
  • What changed in the package: only cacert.pem and the certifi version (in __init__.py and vendor.txt). pip's certifi patches are unchanged. The pip version is bumped to 20.3.4.post4, and NEWS.rst gets the release entry.

Validation (in python:2.7-slim)

  • Build and install: I built the sdist and wheel the same way as the previous release and installed the wheel into a fresh environment. pip --version reports 20.3.4.post4.
  • Vendored certifi: it reports 2026.10.23.post1, the bundle has 118 roots and the only emSign root is G1, and certifi.contents() works.
  • Network: pip download six==1.16.0 from PyPI works.
  • Comparison with the previous release's assets:
    • Wheel: identical apart from pip/__init__.py, pip/_vendor/certifi/__init__.py, pip/_vendor/certifi/cacert.pem and pip/_vendor/vendor.txt, plus RECORD and the Version: line in METADATA.
    • sdist: changes the same four files, plus NEWS.rst and PKG-INFO.

After merge: tag 20.3.4.post4 and publish a GitHub release with the wheel and sdist.

Follow-up to GHSA-6q48-6c7w-9gw2 (the eMudhra/emSign CA key compromise).
Upgrade the vendored certifi from 2026.10.19.post1 to 2026.10.23.post1 (ActiveState/certifi 2026.10.23.post1, whose cacert.pem is identical to upstream certifi 2026.10.23).  It removes two more
emSign roots, emSign Root CA - C1 and emSign ECC Root CA - C3, after
emSign ECC Root CA - G3 was removed in the previous release.  emSign Root
CA - G1 is now the only emSign root in the bundle.

Only cacert.pem and the certifi version change in the vendored package;
pip's certifi patches are untouched.  The pip version is bumped to 20.3.4.post4 and
NEWS.rst gains the release entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@ezequielp-activestate ezequielp-activestate left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blockers. The vendored cacert.pem is byte-identical to the one in certifi 2026.10.23 on PyPI (sha256 2ef52ad5…). Against the base branch it removes exactly two roots, emSign Root CA - C1 and emSign ECC Root CA - C3, and adds none, leaving emSign Root CA - G1 as the only emSign root, as the changelog says. The pip version, the vendored certifi __version__ (2026.10.23.post1) and vendor.txt agree. That ActiveState certifi release exists with its wheel and sdist attached. On Python 2.7.18, this tree's pip reports 20.3.4.post4, certifi where() points at the vendored bundle, and pip download six==1.16.0 from PyPI succeeds over TLS through it.

@icanhasmath
icanhasmath merged commit 29feaea into 20.3.4.x Oct 28, 2026
1 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants