Skip to content
Heist/ feed
Medium

PSF-2026-36

Type: advisorySource: OSV1 source record

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.

Announced Source revision 1
Original source ↗

PSF-2026-36

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:PSF-2026-36

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "repo": "https://github.com/python/cpython",
        "type": "GIT",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "a0d023fbd23773e24b35d8368789470e22cda5d8"
          },
          {
            "fixed": "a2773a34183b7d94a243bb98fd658926cc5348ce"
          },
          {
            "fixed": "a7bb524fef61f77ede01f660ffbd591e1d5837ce"
          },
          {
            "fixed": "641be42bb07921ba0f8bffe228b1dc706b092ef6"
          },
          {
            "fixed": "851cf9a7142ecbdd39f831055533f58284ad2bcc"
          },
          {
            "fixed": "95355ee3a8e1d3c3d4858d1973aa42a9b91a2801"
          },
          {
            "fixed": "dac88d8615078c55f1304ea4c7a2d822700d4e5a"
          }
        ]
      }
    ],
    "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.15.0a8",
      "v3.15.0a7",
      "v3.12.13",
      "v3.10.20",
      "v3.11.15",
      "v3.15.0a6",
      "v3.13.12",
      "v3.14.3",
      "v3.15.0a5",
      "v3.15.0a4",
      "v3.15.0a3",
      "v3.14.2",
      "v3.13.11",
      "v3.13.10",
      "v3.14.1",
      "v3.15.0a2",
      "v3.15.0a1",
      "v3.13.8",
      "v3.11.14",
      "v3.10.19",
      "v3.12.12",
      "v3.14.0",
      "v3.14.0rc3",
      "v3.13.7",
      "v3.14.0rc2",
      "v3.13.6",
      "v3.14.0rc1",
      "v3.14.0b4",
      "v3.14.0b3",
      "v3.13.5",
      "v3.13.4",
      "v3.11.13",
      "v3.10.18",
      "v3.12.11",
      "v3.14.0b2",
      "v3.14.0b1",
      "v3.13.3",
      "v3.11.12",
      "v3.12.10",
      "v3.14.0a7",
      "v3.10.17",
      "v3.14.0a6",
      "v3.14.0a5",
      "v3.13.2",
      "v3.12.9",
      "v3.14.0a4",
      "v3.14.0a3",
      "v3.13.1",
      "v3.12.8",
      "v3.10.16",
      "v3.11.11",
      "v3.14.0a2",
      "v3.14.0a1",
      "v3.13.0",
      "v3.13.0rc3",
      "v3.12.7",
      "v3.11.10",
      "v3.10.15",
      "v3.13.0rc2",
      "v3.12.6",
      "v3.12.5",
      "v3.13.0rc1",
      "v3.13.0b4",
      "v3.13.0b3",
      "v3.12.4",
      "v3.13.0b2",
      "v3.13.0b1",
      "v3.13.0a6",
      "v3.12.3",
      "v3.11.9",
      "v3.10.14",
      "v3.13.0a5",
      "v3.13.0a4",
      "v3.12.2",
      "v3.11.8",
      "v3.13.0a3",
      "v3.12.1",
      "v3.11.7",
      "v3.13.0a2",
      "v3.13.0a1",
      "v3.11.6",
      "v3.12.0",
      "v3.12.0rc3",
      "v3.12.0rc2",
      "v3.11.5",
      "v3.10.13",
      "v3.12.0rc1",
      "v3.12.0b4",
      "v3.12.0b3",
      "v3.11.4",
      "v3.10.12",
      "v3.12.0b2",
      "v3.12.0b1",
      "v3.10.11",
      "v3.11.3",
      "v3.12.0a7",
      "v3.12.0a6",
      "v3.10.10",
      "v3.11.2",
      "v3.12.0a5",
      "v3.12.0a4",
      "v3.12.0a3",
      "v3.10.9",
      "v3.11.1",
      "v3.12.0a2",
      "v3.12.0a1",
      "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://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2026-36.json"
    }
  }
]
Related CVEs
CVE-2026-15806

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

Event
#58678 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement