Mitigated API authentication bypass for python.org download metadata
A vulnerability in the python.org release management API allowed an attacker to bypass authentication by using an admin username with an arbitrary API key. This issue was mitigated and confirmed fixed within 48 hours of the report, with additional hardening measures implemented following a third-par
Overview of the Mitigated API Authentication Bypass
A vulnerability in the python.org release management API allowed an attacker to bypass authentication by using an admin username with an arbitrary API key. This would have enabled an attacker to modify Python release and file metadata, affecting the URLs users are offered when visiting python.org/downloads. However, there is no evidence that this vulnerability was exploited, as confirmed through log and database backup analysis.
Timeline and Response
The vulnerability was reported on February 23rd, 2026, by Splitline Ng from the DEVCORE Research Team. The Python Security Response Team (PSRT) confirmed the issue and deployed a patch within 48 hours. The patch was reviewed and applied by Seth Larson and Hugo van Kemenade, with assistance from Jacob Coffee. The PSRT and the reporter confirmed that the proof-of-concept no longer worked on both local and production deployments.
Post-Mitigation Analysis and Hardening
Following the patch deployment, PSRT conducted a thorough audit of logs, database backups, and verification materials such as Sigstore and PGP. These audits confirmed that no exploitation had occurred and that all artifacts on python.org remained unmodified. Additional hardening measures were implemented, including requiring HTTPS URLs for newer releases and rejecting URLs that do not start with https://www.python.org/. These changes ensure that even if authentication is circumvented, attacker-controlled URLs are rejected.
Third-Party Audit and Additional Measures
A third-party audit by Trail of Bits was conducted to further improve the security of the API. The audit led to the implementation of a custom field validator to enforce HTTPS URLs for newer releases. Additional test cases were added to cover all negative authentication branches, and logging retention was increased from 3 days to 30 days to aid in future audits.
Conclusion and Implications
The vulnerability was mitigated quickly, and no exploitation was found. The response included not only immediate patching but also long-term hardening and third-party validation. The incident highlights the importance of continuous security audits and the value of responsible disclosure in identifying and addressing potential threats before they can be exploited.
Source: Python Insider. Analysis based on publicly available information; no hands-on testing is claimed.