`HTTPPasswordMgr` can send saved HTTPS credentials via HTTP because of incorrect scheme matching
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-319.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Python Software Foundation | CPython | before 3.10.22; 3.11.0 to before 3.11.17; 3.12.0 to before 3.12.15; 3.13.0 to before 3.13.16; 3.14.0 to before 3.14.8; 3.15.0a1 to before 3.15.0rc2 | 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.8, 3.15.0rc2 | Patch available | CNA |
- CPython VendorPython Software Foundation Affected before 3.10.22; 3.11.0 to before 3.11.17; 3.12.0 to before 3.12.15; 3.13.0 to before 3.13.16; 3.14.0 to before 3.14.8; 3.15.0a1 to before 3.15.0rc2 Fixed in 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.8, 3.15.0rc2 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:python:*:*:*:*:*:*:*:* | — | — | python-pillow |
- cpe:2.3:a:python:python:*:*:*:*:*:*:*:* Versions — — ·python-pillow
Remediation
- Fix · CNA CPython (Python Software Foundation) Fixed in 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.8, 3.15.0rc2
Red Hat 5 advisories
- RHSA-2026:65567 Released 2026-09-08 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.13-3.13.15-1.1.hum1@aarch64, python3.13-3.13.15-1.1.hum1@src, python3.13-3.13.15-1.1.hum1@x86_64 +16
- RHSA-2026:65531 Released 2026-09-08 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.12-3.12.14-1.1.hum1@aarch64, python3.12-3.12.14-1.1.hum1@src, python3.12-3.12.14-1.1.hum1@x86_64 +12
- RHSA-2026:65525 Released 2026-09-08 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.11-3.11.16-1.2.hum1@aarch64, python3.11-3.11.16-1.2.hum1@src, python3.11-3.11.16-1.2.hum1@x86_64 +12
Show 2 more Red Hat advisories
- RHSA-2026:65513 Released 2026-09-08 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.10-3.10.21-1.1.hum1@aarch64, python3.10-3.10.21-1.1.hum1@src, python3.10-3.10.21-1.1.hum1@x86_64 +12
- RHSA-2026:65505 Released 2026-09-08 · Red Hat rating ImportantRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python-unversioned-command-3.14.7-1.1.hum1@noarch@public-hummingbird-aarch64-rpms, python-unversioned-command-3.14.7-1.1.hum1@noarch@public-hummingbird-x86_64-rpms, python3-3.14.7-1.1.hum1@aarch64 +28
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Python Software Foundation CPython 3.10.22, 3.11.17 and 4 more versions
2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2026-14214 stringprep.map_table_b2() deviates from RFC 3454 Table B.2Priority LOW 28
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Hardened Images | Fixed | RHSA-2026:65505, RHSA-2026:65513, RHSA-2026:65525, RHSA-2026:65531, RHSA-2026:65567 |
Not affected: 1 product
- Red Hat Hardened Images
Timeline
- 2026-10-02 Threatist record created from CVE-2026-15806
- 2026-10-03 Alias added: GHSA-2v69-2w5x-455j
References
Patch 8
- https://github.com/python/cpython/pull/155696
- https://github.com/python/cpython/commit/a0d023fbd23773e24b35d8368789470e22cda5d8
- https://github.com/python/cpython/commit/a2773a34183b7d94a243bb98fd658926cc5348ce
- https://github.com/python/cpython/commit/a7bb524fef61f77ede01f660ffbd591e1d5837ce
- https://github.com/python/cpython/commit/641be42bb07921ba0f8bffe228b1dc706b092ef6
- https://github.com/python/cpython/commit/851cf9a7142ecbdd39f831055533f58284ad2bcc
- https://github.com/python/cpython/commit/95355ee3a8e1d3c3d4858d1973aa42a9b91a2801
- https://github.com/python/cpython/commit/dac88d8615078c55f1304ea4c7a2d822700d4e5a
Advisory 1
More Python Software Foundation vulnerabilities
- TI-2024-07037 Quadratic complexity parsing cookies with backslashes CVSS 3.1HIGH 7.5
- TI-2024-11791 Bypass extraction filter to modify file metadata outside extraction directory CVSS 3.1MEDIUM 5.3
- TI-2024-00411 Quoted zip-bomb protection for zipfile CVSS 3.1MEDIUM 6.2
- TI-2024-06422 Email header injection due to unquoted newlines CVSS 3.1MEDIUM 5.5
- TI-2026-04606 Possible to hijack modules in current working directory CVSS 4.0MEDIUM 5.6
- TI-2025-07587 ZIP64 End of Central Directory (EOCD) Locator record offset not checked CVSS 3.1MEDIUM 4.3
Sources
- CVE-2026-15806 · CVE Program
- CVE-2026-15806 · NVD
- FIRST EPSS
- GHSA-2v69-2w5x-455j · GitHub Advisory Database · CC BY 4.0
- CVE-2026-15806 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences