CVE-2026-15806`HTTPPasswordMgr` can send saved HTTPS credentials via HTTP because of incorrect scheme matching
Updated under an hour ago ()
Does this affect you?
It affects Python Software Foundation CPython. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
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.
- CVSS
- 6.0 MEDIUM (v4.0, CNA)CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- Weakness (CWE)
- CWE-319, CWE-522
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- PSF
- NVD analysis
- Awaiting Analysis
- Record last updated
- Oct 2, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Python Software Foundation CPython python_software_foundation:cpython (from the name) | before 3.10.22; from 3.11.0 before 3.11.17; from 3.12.0 before 3.12.15; from 3.13.0 before 3.13.16; from 3.14.0 before 3.14.8; from 3.15.0a1 before 3.15.0rc2 | CNA record |
References
- https://github.com/python/cpython/issues/155694issue-tracking
- https://github.com/python/cpython/pull/155696patch
- https://mail.python.org/archives/list/security-announce@python.org/thread/3OKPE5S75KDNA7FY7AI3PL2MXM2X5RB3/vendor-advisory
- https://github.com/python/cpython/commit/a0d023fbd23773e24b35d8368789470e22cda5d8patch
- https://github.com/python/cpython/commit/a2773a34183b7d94a243bb98fd658926cc5348cepatch
- https://github.com/python/cpython/commit/a7bb524fef61f77ede01f660ffbd591e1d5837cepatch
- https://github.com/python/cpython/commit/641be42bb07921ba0f8bffe228b1dc706b092ef6patch
- https://github.com/python/cpython/commit/851cf9a7142ecbdd39f831055533f58284ad2bccpatch
- https://github.com/python/cpython/commit/95355ee3a8e1d3c3d4858d1973aa42a9b91a2801patch
- https://github.com/python/cpython/commit/dac88d8615078c55f1304ea4c7a2d822700d4e5apatch
- http://www.openwall.com/lists/oss-security/2026/08/18/3
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.