Repository navigation
build: update Docker image for eMudhra/emSign CA incident - #13374
Merged
Merged
Conversation
Bump the python:3.12-slim digest to pick up Debian's ca-certificates 20250419+deb13u1 (DSA-6572-1), bump the build-stage uv to 0.13.4, and upgrade pip in /opt/venv to >=26.2.2, since the pip bundled with CPython still trusts the compromised CAs. See https://discuss.python.org/t/109576 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
sjrl
approved these changes
Oct 21, 2026
julian-risch
pushed a commit
that referenced
this pull request
Oct 21, 2026
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issues
pypa/gh-action-pypi-publishfor the same incident)Proposed Changes:
All 8 eMudhra/emSign CAs had trivially weak private keys, so certificates they sign can be forged. Our Docker image trusted them in three places; this PR fixes all three:
python:3.12-slimdigest inDockerfile.baseanddocker-bake.hcl. The new image ships Debian'sca-certificates 20250419+deb13u1(DSA-6572-1), which dropsemSign ECC Root CA - G3. The old pin was built on 2026-05-19, so this also brings five months of Debian patch updates, including Python 3.12.13 → 3.12.15 and OpenSSL 3.5.6 → 3.5.7./opt/venv:python3 -m venvinstalls the pip bundled with CPython (25.0.1), and nothing upgraded it so far. We now installpip>=26.2.2. The floor makes the build fail instead of silently installing an affected pip, e.g. while our 24hexclude-newercooldown still hides 26.2.2.How did you test it?
Built the image locally for
linux/arm64and checked inside it:pipin the venv: 26.2.2 (was 25.0.1)certifiand pip's vendored certifi: both 2026.10.19;emSign ECC Root CA - G3is not in the bundleca-certificates: 20250419+deb13u1 (was 20250419, which includedemSign_ECC_Root_CA_-_G3.pem)from haystack.version import __version__works (3.5.0-rc0)Until 2026-10-21 16:36 UTC the build fails on purpose, because the cooldown still hides pip 26.2.2 (confirmed locally). The checks above ran on an otherwise identical copy with
--exclude-newer-package pip=false.To reproduce:
Notes for the reviewer
mainfails on the pip floor.base-main.stableandbase-v3.4.0keep the old image, and re-running the release workflow on thev3.4.0tag would rebuild from that tag's old Dockerfile. Proposal: cherry-pick ontov3.4.xand release v3.4.1, or ship it with v3.5.0./usr/localstays at 25.0.1 until a CPython 3.12 release bundles a fixed pip./opt/venvcomes first onPATH, sopipandpython -m pipuse the fixed one. Dependabot doesn't track theARGdigests, so that follow-up bump has to be done by hand.Checklist
fix:,feat:,build:,chore:,ci:,docs:, `style: