惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
博客园_首页
博客园 - 【当耐特】
V
Visual Studio Blog
博客园 - 叶小钗
月光博客
月光博客
美团技术团队
J
Java Code Geeks
小众软件
小众软件
Y
Y Combinator Blog
博客园 - Franky
Martin Fowler
Martin Fowler
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG

Python Insider

Python 3.15.0 candidate 2 is here! | Python Insider RISC-V is now officially supported by CPython! | Python Insider The Python documentation is now available in Russian! | Python Insider Announcing the Packaging Council Election Candidates for 2026! | Python Insider Python 3.12.14, 3.11.16 and 3.10.21 are now available! | Python Insider Python 3.14.7 and 3.13.15 are now available! | Python Insider Python 3.15.0 candidate 1 is here! | Python Insider Get Ready: 2026 Python Packaging Council Nominations Opening Soon! | Python Insider Python 3.15.0 beta 4 is here! | Python Insider Packaging Council Inaugural Election Dates | Python Insider Python 3.15.0 beta 3 is here! | Python Insider Python 3.14.6 and 3.13.14 are now available! | Python Insider Python 3.15.0 beta 2 is here! | Python Insider Python 3.14.5 is out! | Python Insider Python 3.15.0 beta 1 is here! | Python Insider Python 3.14.5 release candidate | Python Insider Rust for CPython Progress Update April 2026 | Python Insider Python 3.15.0a8, 3.14.4 and 3.13.13 are out! | Python Insider Python 3.15's JIT is now back on track | Python Insider Python 3.15.0 alpha 7 | Python Insider CPython: 36 Years of Source Code | Python Insider Python 3.12.13, 3.11.15 and 3.10.20 are now available! | Python Insider The Python Insider Blog Has Moved! | Python Insider Join the Python Security Response Team! | Python Insider Python 3.15.0 alpha 6 | Python Insider Python 3.14.3 and 3.13.12 are now available! | Python Insider Python 3.15.0 alpha 5 (yes, another alpha!) | Python Insider Python 3.15.0 alpha 4 | Python Insider Python 3.15.0 alpha 3 | Python Insider Python 3.14.2 and 3.13.11 are now available! | Python Insider
Mitigated API authentication bypass for python.org downlo...
Seth Larson · 2026-06-23 · via Python Insider

Summary

On February 23rd 2026, Splitline Ng from the DEVCORE Research Team reported to the Python Security Response Team (PSRT) an authentication bypass vulnerability in the python.org release management API. By supplying an admin username with an arbitrary API key the request was processed with admin privileges.

If exploited, this would have allowed an attacker to modify Python release and file metadata that affects what URLs users are offered when visiting python.org/downloads. While it would not enable existing release files to be modified in-place, it would enable an attacker to modify the URLs that are provided on python.org for each release file, including verification material URLs. There is no evidence this vulnerability was exploited after auditing logs and database backups. This scenario is even more unlikely to have happened unnoticed due to the many redistributors requiring Python Sigstore and PGP materials be verified prior to builds.

Details

PSRT confirmed the vulnerability on a local instance of python.org. Seth Larson and Hugo van Kemenade developed and deployed the patch to production with help from Jacob Coffee. Less than 48 hours after the initial report the PSRT and the reporter confirmed that the proof-of-concept provided by the reporter no longer worked locally or on the production deployment.

This vulnerability was likely never exploited. However, due to the age of the vulnerability (existing in the codebase since 2014) we don’t have absolute certainty beyond our logs and database backups. We believe attempts to exploit this vulnerability would have been “loud” and discovered quickly given the number of downstream tools and distributions automatically verifying the Sigstore and PGP materials.

We confirmed that all artifacts on python.org had not been modified by verifying Sigstore and PGP materials. Our own workflow verifying all Sigstore signatures did not signal any changes to artifacts from years prior. While verifying PGP materials we were able to verify all signatures where keys are still readily accessible from Python 2.5 to 3.13. Note that Python 3.14 and onwards no longer provide PGP materials, so these were verified with Sigstore.

The codebase was manually audited and additional hardening was applied. In addition to manual auditing, LLM auditing tools were unable to find additional issues with authentication. The delay between the initial finding and publishing of this final report was to give ample time for auditing for other issues related to authentication, to receive access to LLM auditing tools, and to complete a third-party audit from Trail of Bits prior to publication of this report.

  • Patch applied and deployed to ensure that behavior is not mixed between the “guest” authentication mode and API key authentication. This fixes the issue and documents clearly the branch in behavior between the two cases (python/pythondotorg#2946). Trail of Bits audit improved this functionality to require HTTPS URLs for newer releases (python/pythondotorg#3014) through a custom field validator.
  • Added test cases for all negative authentication branches.
  • Database and API now reject URLs which do not start with “https://www.python.org/”. This additional hardening will reject attacker-controlled URLs even if authentication or authorization is circumvented. (python/pythondotorg#2947)
  • Increased logging retention from 3 days to 30 days for requests to python.org. This will aid in audit work for any follow-up reports.

Timeline

  • February 23rd: Report received from DEVCORE Research Team.
  • February 23rd: Report acknowledged and confirmed by PSRT.
  • February 24th: Patch reviewed and applied to python.org.
  • February 24th: Patch confirmed working by DEVCORE Research Team.
  • February 25th: Audit of logs, database backups, Sigstore and PGP completed, showing no exploitation. Codebase was manually audited by staff.
  • April 23rd: LLM security auditing tools were applied to the codebase, finding no issues related to authentication or authorization.
  • June 1st: Trail of Bits began audit of python.org and Python release process.
  • June 23rd: This final report is published.

Acknowledgements

Thanks to Splitline Ng from the DEVCORE Research Team for responsibly disclosing this vulnerability and confirming the remediation.

Funding for the follow-up third-party audit was provided by OpenAI. The audit and mitigations were completed by Trail of Bits, with special thanks to Facundo Tuesca and Eric Quintero. Audit results and mitigations were reviewed and applied by Seth Larson. Seth Larson’s role as Security Developer-in-Residence at the Python Software Foundation is supported by Alpha-Omega.

If your organization wants to support security at the Python Software Foundation through the Developers-in-Residence program please reach out to sponsors@python.org.