cd /news/artificial-intelligence/new-python-security-updates-explicit… · home › topics › artificial-intelligence › article
[ARTICLE · art-158570] src=news.ycombinator.com ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

New Python security updates explicitly block the eMudhra certificates by SPKI

Python shipped security updates that explicitly distrust eMudhra certificates by matching their Subject Public Key Information (SPKI) against a hard-coded list of SHA-256 digests, `_distrusted_spki[][SHA256_DIGEST_LENGTH]`. The patch was contributed by former Python core developer Christian Heimes, with Claude assistance, and flagged on the Python discussion forums by core developer and Python 3.14/3.15 release manager Hugo van Kemenade. Code comments call the blocklist "an extraordinary measure and last line of defense," noting that removing trust is primarily the job of the platform root store and that the list only blocks keys while that update propagates to operating systems, container images, or root CAs bundled in Python packages.

by read1 min views1 publishedOct 27, 2026

Thanks to Python core developer (and Python 3.14 and 3.15 release manager) Hugo van Kemenade on the main Python discussion forums for the heads-up0. The patch1 is contributed by Christian Heimes (with Claude assistance), former core developer who spearheaded the discussion on the bug tracker2 and quickly affirmed the seriousness of the problem in the discussion thread (post 2, which corrected my mistaken assumption that pip would ignore its bundled certifi certificates as long as truststore was able to find system certificates).

Blocking is implemented by a pretty straightforward loop, memcmp'ing against the hard-coded unsigned char _distrusted_spki[][SHA256_DIGEST_LENGTH]. As explained in comments:

  • This is an extraordinary measure and last line of defense. Removing trust is * primarily the job of the platform root store. This list only blocks keys while * that update is still propagating to the OS, container images, or root CAs * bundled in Python packages. The threshold for adding an entry is very high.

There's also an amusing workaround for security scanners that might trip on the tests included in the source release. From the code comment:

The distrusted test material… lives in a password-protected zip so it doesn't trip security scanners that cannot tell internal test fixtures from production secrets and flag any certificate or private key they find. It is encrypted, not merely zipped, because such scanners read inside plain archives. The password is fixed, public, and not a secret.

What might that non-secret password be, you ask? Well, this is Python, so of course:

  DISTRUSTED_ZIP_CHOSEN_KNIGHT = 'Brave Sir Robin'

Comments URL: https://news.ycombinator.com/item?id=50255510

Points: 1

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @python 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/new-python-security-…] indexed:0 read:1min 2026-10-27 · —