Skip to content

fix(deps): pin certifi to >=2026.10.19 for emSign bundle remediation (GHSA-6q48-6c7w-9gw2) - #659

Merged
KAJdev merged 1 commit into
mainfrom
fix/pin-certifi-emsign-g3
Oct 28, 2026
Merged

KAJdev merged 1 commit into
mainfrom
fix/pin-certifi-emsign-g3

Conversation

@erinavllazagaj-eng

Copy link
Copy Markdown
Contributor

<What changes and why: certifi versions before 2026.10.18 bundle the emSign ECC Root CA - G3 root certificate; eight eMudhra intermediate CA certificates that chain to that root have compromised private keys (GHSA-6q48-6c7w-9gw2, CVSS 4.0 9.1). A holder of a compromised key can mint valid-looking certificates for any hostname, so clients that trust the certifi bundle (requests, urllib3, pip, and the Python.org macOS installer are listed examples) trust the entire chain. This pins certifi to >=2026.10.19 in requirements.txt: 2026.10.18 removed all emSign roots from the bundle and 2026.10.19 restored the unaffected ones, so >=2026.10.19 is the first version with the compromised intermediates gone and the good roots retained.

Refs GHSA-6q48-6c7w-9gw2

Blast radius: none — a dependency pin in requirements.txt; no Ansible roles, hosts, playbooks, or runtime code touched.

Evidence:

  • GHSA-6q48-6c7w-9gw2 (published 2026-10-20, reviewed): certifi < 2026.10.18 vulnerable, Upgrade to 2026.10.19 or later, and rebuild container images that vendor certifi (GHSA-6q48-6c7w-9gw2).
  • Pin verified: grep -rn "certifi" --include="*.txt" --include="*.toml" --include="*.md" --include="*.yml" matches only requirements.txt:6; no constraints file, no golang usage in the repo.
  • Resolution verified: fresh venv, pip install --dry-run -r requirements.txt collects certifi-2026.10.23 (satisfies >=2026.10.19).

Validation: pip install --dry-run -r requirements.txt resolves clean (all deps collected, certifi-2026.10.23 pinned); git diff origin/main...HEAD is the single requirements.txt line. CI is CodeQL-only (no Docker image builds); release-please parses fix(deps): to bump the changelog.

@erinavllazagaj-eng
erinavllazagaj-eng marked this pull request as ready for review October 28, 2026 16:08

@KAJdev KAJdev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm

@KAJdev
KAJdev merged commit 714a565 into main Oct 28, 2026
10 checks passed
@KAJdev
KAJdev deleted the fix/pin-certifi-emsign-g3 branch October 28, 2026 18:26
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