The HTTPPasswordMgr class in the urllib.request module, along with its subclasses HTTPPasswordMgrWithDefaultRealm and HTTPPasswordMgrWithPriorAuth, did not take the URL scheme into account when matching stored credentials against a requested URL. Credentials added for an https:// URL were also used for requests to the same host over http://, so an attacker able to redirect or downgrade a client to plain HTTP (for example, via an HTTPS-to-HTTP redirect or an on-path position) could capture credentials in cleartext. Credentials added for http:// URLs could likewise be sent over https://.
Credential matching is now scoped by URL scheme. Credentials registered with a URL that includes a scheme are only used for requests with the same scheme. Credentials registered with a bare authority (such as example.com or example.com:8080) continue to match any scheme, preserving compatibility with existing code, including proxy authentication.
Users who cannot upgrade immediately can mitigate by ensuring that applications never make plain http:// requests to hosts for which credentials are registered, for example by not following redirects to http:// URLs.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alpine Linux | — | Upgrade python3 | Oct 2, 2026 | Aug 18, 2026 |
| Amazon_linux_2023 | — | Upgrade python3.12-tkinterUpgrade python3.12Upgrade python3.13-develUpgrade python3.14Upgrade python3.13-testUpgrade python3.11-idleUpgrade python3.13-tkinterUpgrade python3.11-tkinterUpgrade python3.14-develUpgrade python3.14-freethreadingUpgrade python3.12-debuginfoUpgrade python3.12-idleUpgrade python3.12-testUpgrade python3.13Upgrade python3.14-freethreading-tkinterUpgrade python3.13-debuginfoUpgrade python3.11-debuginfoUpgrade python3.11Upgrade python3.14-idleUpgrade python3.14-debugUpgrade python3.12-develUpgrade python3.13-freethreading-debugUpgrade python3.14-libsUpgrade python3.13-libsUpgrade python3.13-idleUpgrade python3.13-debugsourceUpgrade python3.12-libsUpgrade python3.12-debugUpgrade python3.14-testUpgrade python3.12-debugsourceUpgrade python3.11-debugUpgrade python3.14-debuginfoUpgrade python3.13-freethreadingUpgrade python3.14-freethreading-libsUpgrade python3.11-develUpgrade python3.14-tkinterUpgrade python3.11-debugsourceUpgrade python3.14-freethreading-testUpgrade python3.14-freethreading-develUpgrade python3.11-libsUpgrade python3.13-debugUpgrade python3.14-freethreading-debugUpgrade python3.14-freethreading-idleUpgrade python3.11-testUpgrade python3.14-debugsource | Oct 28, 2026 | Aug 18, 2026 |
| Debian | — | Upgrade python3.11 | Oct 12, 2026 | Aug 18, 2026 |
| Ibm Aix | — | Apply the fix or workaround for python_advisory22 | Oct 21, 2026 | Oct 21, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub