{"id":"CVE-2026-15806","summary":"`HTTPPasswordMgr` can send saved HTTPS credentials via HTTP because of incorrect scheme matching","details":"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://.\n\nCredential 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.\n\nUsers 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.","aliases":["BIT-libpython-2026-15806","BIT-python-2026-15806","BIT-python-min-2026-15806","PSF-2026-36"],"modified":"2026-10-20T11:18:44.536913618Z","published":"2026-08-18T15:50:57.983Z","related":["SUSE-SU-2026:23743-1","SUSE-SU-2026:23845-1","SUSE-SU-2026:4396-1","SUSE-SU-2026:4411-1","SUSE-SU-2026:4534-1","SUSE-SU-2026:4630-1","SUSE-SU-2026:4633-1","SUSE-SU-2026:4743-1","SUSE-SU-2026:4744-1","openSUSE-SU-2026:11748-1","openSUSE-SU-2026:11886-1","openSUSE-SU-2026:11949-1","openSUSE-SU-2026:11975-1","openSUSE-SU-2026:12123-1","openSUSE-SU-2026:12124-1"],"database_specific":{"cna_assigner":"PSF","cwe_ids":["CWE-319","CWE-522"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/15xxx/CVE-2026-15806.json"},"references":[{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2026/08/18/3"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/15xxx/CVE-2026-15806.json"},{"type":"ADVISORY","url":"https://mail.python.org/archives/list/security-announce@python.org/thread/3OKPE5S75KDNA7FY7AI3PL2MXM2X5RB3/"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-15806"},{"type":"REPORT","url":"https://github.com/python/cpython/issues/155694"},{"type":"FIX","url":"https://github.com/python/cpython/commit/641be42bb07921ba0f8bffe228b1dc706b092ef6"},{"type":"FIX","url":"https://github.com/python/cpython/commit/851cf9a7142ecbdd39f831055533f58284ad2bcc"},{"type":"FIX","url":"https://github.com/python/cpython/commit/95355ee3a8e1d3c3d4858d1973aa42a9b91a2801"},{"type":"FIX","url":"https://github.com/python/cpython/commit/a0d023fbd23773e24b35d8368789470e22cda5d8"},{"type":"FIX","url":"https://github.com/python/cpython/commit/a2773a34183b7d94a243bb98fd658926cc5348ce"},{"type":"FIX","url":"https://github.com/python/cpython/commit/a7bb524fef61f77ede01f660ffbd591e1d5837ce"},{"type":"FIX","url":"https://github.com/python/cpython/commit/dac88d8615078c55f1304ea4c7a2d822700d4e5a"},{"type":"FIX","url":"https://github.com/python/cpython/pull/155696"},{"type":"PACKAGE","url":"https://github.com/python/cpython"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/python/cpython","events":[{"introduced":"0"},{"fixed":"acb4dc12b6df8615af7b43120ef601e04072f7d2"},{"introduced":"deaf509e8fc6e0363bd6f26d52ad42f976ec42f2"},{"fixed":"e6392eb68a39cef49c9fe6431253050caa17a426"},{"introduced":"0fb18b02c8ad56299d6a2910be0bab8ad601ef24"},{"fixed":"e848e4b09ca4bc67c0041c9ce7526dae471d4c36"},{"introduced":"60403a5409ff2c3f3b07dd2ca91a7a3e096839c7"},{"fixed":"cbc944f4bc59639a444dd971c737788ba2283a91"},{"introduced":"ebf955df7a89ed0c7968f79faec1de49f61ed7cb"},{"fixed":"8e6e75d9102e39bed2a2b279203a396741180f12"},{"introduced":"f31a89bb901067dd105b00cfa90523cf7ffdbbdd"},{"fixed":"435c9e5a798c99653e3ab64ce29baed0e4f3dfee"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"3.10.22"},{"introduced":"3.11.0"},{"fixed":"3.11.17"},{"introduced":"3.12.0"},{"fixed":"3.12.15"},{"introduced":"3.13.0"},{"fixed":"3.13.16"},{"introduced":"3.14.0"},{"fixed":"3.14.8"},{"introduced":"3.15.0a1"},{"fixed":"3.15.0rc2"}],"source":"AFFECTED_FIELD"}}],"versions":["v3.11.16","v3.10.21","v3.12.14","v3.13.15","v3.14.7","v3.15.0rc1","v3.15.0b4","v3.15.0b3","v3.13.14","v3.14.6","v3.15.0b2","v3.14.5","v3.15.0b1","v3.14.5rc1","v3.13.13","v3.14.4","v3.12.13","v3.10.20","v3.11.15","v3.13.12","v3.14.3","v3.14.2","v3.13.11","v3.13.10","v3.14.1","v3.13.8","v3.11.14","v3.10.19","v3.12.12","v3.14.0","v3.13.7","v3.13.6","v3.13.5","v3.13.4","v3.11.13","v3.10.18","v3.12.11","v3.13.3","v3.11.12","v3.12.10","v3.10.17","v3.13.2","v3.12.9","v3.13.1","v3.12.8","v3.10.16","v3.11.11","v3.13.0","v3.12.7","v3.11.10","v3.10.15","v3.12.6","v3.12.5","v3.12.4","v3.12.3","v3.11.9","v3.10.14","v3.12.2","v3.11.8","v3.12.1","v3.11.7","v3.11.6","v3.12.0","v3.11.5","v3.10.13","v3.11.4","v3.10.12","v3.10.11","v3.11.3","v3.10.10","v3.11.2","v3.10.9","v3.11.1","v3.11.0rc2","v3.10.8","v3.10.7","v3.11.0rc1","v3.10.6","v3.11.0b5","v3.11.0b4","v3.10.5","v3.11.0b3","v3.11.0b2","v3.11.0b1","v3.11.0a7","v3.10.4","v3.10.3","v3.11.0a6","v3.11.0a5","v3.11.0a4","v3.10.2","v3.11.0a3","v3.10.1","v3.10.0rc2","v3.10.0rc1","v3.10.0b4","v3.10.0b3","v3.10.0b2","v3.10.0b1","v3.10.0a7","v3.10.0a1","v3.9.0a2","v3.7.0a2","v3.6.0b1","v3.6.0a3","v3.5.0b1","v3.5.0a4","v3.5.0a3","v3.5.0a2","v3.5.0a1","v3.4.0b3","v3.4.0b2","v3.4.0b1","v3.4.0a4","v3.4.0a3","v3.4.0a2","v3.4.0a1","v3.3.0rc3","v3.3.0rc2","v3.3.0rc1","v3.3.0b2","v3.3.0b1","v3.3.0a4","v3.3.0a3","v3.3.0a2","v3.2rc3","v3.2rc2","v3.2rc1","v3.2b2","v3.2b1","v3.2a4","v3.2a3","v3.2a2","v3.2a1","v3.1","v3.1rc2","v3.1rc1","v3.1b1","v3.1a2","v3.1a1","v3.0rc3","v3.0rc2","v3.0rc1","v3.0b3","v3.0b2","v3.0b1","v3.0a5","v3.0a4","v3.0a3","v3.0a2","v3.0a1","v2.4","v2.4c1","v2.4b2","v2.4b1","v2.4a3","v2.4a2","v2.4a1","v2.3c2","v2.3c1","v2.2a3","v2.1","v2.1c2","v2.1c1","v2.1b2","v2.1b1","v2.1a2","v2.1a1","v2.0","v2.0c1","v2.0b2","v2.0b1","v1.6a2","v1.6a1","v1.5.2","v1.5.2c1","v1.5.2b2","v1.5.2b1","v1.5.2a2","v1.5.2a1","v1.5.1","v1.5","v1.5b2","v1.5b1","v1.5a4","v1.5a3","v1.5a2","v1.5a1","v1.4","v1.4b3","v1.4b2","v1.4b1","v1.3","v1.3b1","v1.2","v1.2b4","v1.2b3","v1.2b2","v1.2b1","v1.1.1","v1.1","v1.0.2","v1.0.1","v0.9.9","v0.9.8"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-15806.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}