Skip to content

fix(deps): require certifi>=2026.10.19 to drop the compromised eMudhra root - #38

Merged
balsa-sarenac merged 1 commit into
mainfrom
balsa/fix-certifi-emudhra
Oct 23, 2026
Merged

balsa-sarenac merged 1 commit into
mainfrom
balsa/fix-certifi-emudhra

Conversation

@balsa-sarenac

@balsa-sarenac balsa-sarenac commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds certifi>=2026.10.19 to the dependencies and a changelog line.

On 17 Oct 2026 a researcher showed that eight eMudhra intermediate CA keys were weak and could be recovered in seconds. Browsers have blocked the certificates. Python clients that use certifi still trusted them until certifi 2026.10.19, which removes the emSign ECC Root CA - G3 root. See https://blog.talosintelligence.com/compromised-intermediate-certificates/ and https://emudhra.we-have-a-problem.com/.

certifi comes in through requests and had no lower bound. main has no tracked lock file, so a fresh install already gets the latest. The gap is existing virtual environments. With pip's default upgrade strategy, upgrading upgrade-python-package keeps an older certifi that already satisfies requests. The floor forces the upgrade. certifi 2026.10.19 needs Python >=3.7, so the supported range (3.8 and up) is unaffected.

How to test

uv venv --python 3.12 /tmp/upp-venv
uv pip install -p /tmp/upp-venv -e ".[test]"
uv pip list -p /tmp/upp-venv | grep -i certifi     # certifi 2026.10.19
/tmp/upp-venv/bin/python -m pytest upgrade/tests -q   # 51 passed, 2 skipped (about 2.5 min)

🤖 Generated with Claude Code

…a root

Eight eMudhra intermediate CA keys were found to be recoverable in under a
second. Clients that do not get browser blocklists still trust chains
from them. certifi 2026.10.19 removes the emSign ECC Root CA - G3 root.
certifi comes in through requests and had no floor. An existing venv that
already had an older certifi kept it when upgrade-python-package was
upgraded. The floor makes the next upgrade pull the fixed bundle.

[changelog]

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
@balsa-sarenac
balsa-sarenac merged commit d37b95b into main Oct 23, 2026
27 checks passed
@balsa-sarenac
balsa-sarenac deleted the balsa/fix-certifi-emudhra branch October 23, 2026 11:48
balsa-sarenac added a commit that referenced this pull request Oct 23, 2026
Review feedback asked for more concise entries. Use one short sentence
per entry, as in earlier releases, and link the certifi fix to #38.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
balsa-sarenac added a commit that referenced this pull request Oct 23, 2026
Review feedback asked for more concise entries. Use one short sentence
per entry, as in earlier releases, and link the certifi fix to #38.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
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