GHSA-9wx4-h78v-vm56

Requests `Session` object does not verify requests after making first request with verify=False

At a glance

Published
Updated
CVE
CVE-2024-35195
Aliases
PYSEC-2026-1873
CVSS_V3
CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N

Description

When using a `requests.Session`, if the first request to a given origin is made with `verify=False`, TLS certificate verification may remain disabled for all subsequent requests to that origin, even if `verify=True` is explicitly specified later. This occurs because the underlying connection is reused from the session's connection pool, causing the initial TLS verification setting to persist for the lifetime of the pooled connection. As a result, applications may unintentionally send requests without certificate verification, leading to potential man-in-the-middle attacks and compromised confidentiality or integrity. This behavior affects versions of `requests` prior to 2.32.0.

Affected packages

PackageVersions
PyPI · requestsintroduced 0, fixed 2.32.0

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database