[Security] Bump requests from 2.31.0 to 2.32.0
Bumps requests from 2.31.0 to 2.32.0. This update includes a security fix.
Vulnerabilities fixed
Requests
Session
object does not verify requests after making first request with verify=False When making requests through a RequestsSession
, if the first request is made withverify=False
to disable cert verification, all subsequent requests to the same origin will continue to ignore cert verification regardless of changes to the value ofverify
. This behavior will continue for the lifecycle of the connection in the connection pool.Remediation
Any of these options can be used to remediate the current issue, we highly recommend upgrading as the preferred mitigation.
- Upgrade to
requests>=2.32.0
.- For
requests<2.32.0
, avoid settingverify=False
for the first request to a host while using a Requests Session.- For
requests<2.32.0
, callclose()
onSession
objects to clear existing connections ifverify=False
is used.Related Links
Patched versions: 2.32.0 Affected versions: < 2.32.0
Release notes
Sourced from requests's releases.
v2.32.0
2.32.0 (2024-05-20)
🐍 PYCON US 2024 EDITION🐍 Security
- Fixed an issue where setting
verify=False
on the first request from a Session will cause subsequent requests to the same origin to also ignore cert verification, regardless of the value ofverify
. (https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56)Improvements
verify=True
now reuses a global SSLContext which should improve request time variance between first and subsequent requests. It should also minimize certificate load time on Windows systems when using a Python version built with OpenSSL 3.x. (#6667)- Requests now supports optional use of character detection (
chardet
orcharset_normalizer
) when repackaged or vendored. This enablespip
and other projects to minimize their vendoring surface area. TheResponse.text()
andapparent_encoding
APIs will default toutf-8
if neither library is present. (#6702)Bugfixes
- Fixed bug in length detection where emoji length was incorrectly calculated in the request content-length. (#6589)
- Fixed deserialization bug in JSONDecodeError. (#6629)
- Fixed bug where an extra leading
/
(path separator) could lead urllib3 to unnecessarily reparse the request URI. (#6644)Deprecations
- Requests has officially added support for CPython 3.12 (#6503)
- Requests has officially added support for PyPy 3.9 and 3.10 (#6641)
- Requests has officially dropped support for CPython 3.7 (#6642)
- Requests has officially dropped support for PyPy 3.7 and 3.8 (#6641)
Documentation
- Various typo fixes and doc improvements.
Packaging
- Requests has started adopting some modern packaging practices. The source files for the projects (formerly
requests
) is now located insrc/requests
in the Requests sdist. (#6506)- Starting in Requests 2.33.0, Requests will migrate to a PEP 517 build system using
hatchling
. This should not impact the average user, but extremely old versions of packaging utilities may have issues with the new packaging format.New Contributors
@matthewarmand
made their first contribution in psf/requests#6258@cpzt
made their first contribution in psf/requests#6456
... (truncated)
Changelog
Sourced from requests's changelog.
2.32.0 (2024-05-20)
Security
- Fixed an issue where setting
verify=False
on the first request from a Session will cause subsequent requests to the same origin to also ignore cert verification, regardless of the value ofverify
. (https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56)Improvements
verify=True
now reuses a global SSLContext which should improve request time variance between first and subsequent requests. It should also minimize certificate load time on Windows systems when using a Python version built with OpenSSL 3.x. (#6667)- Requests now supports optional use of character detection (
chardet
orcharset_normalizer
) when repackaged or vendored. This enablespip
and other projects to minimize their vendoring surface area. TheResponse.text()
andapparent_encoding
APIs will default toutf-8
if neither library is present. (#6702)Bugfixes
- Fixed bug in length detection where emoji length was incorrectly calculated in the request content-length. (#6589)
- Fixed deserialization bug in JSONDecodeError. (#6629)
- Fixed bug where an extra leading
/
(path separator) could lead urllib3 to unnecessarily reparse the request URI. (#6644)Deprecations
- Requests has officially added support for CPython 3.12 (#6503)
- Requests has officially added support for PyPy 3.9 and 3.10 (#6641)
- Requests has officially dropped support for CPython 3.7 (#6642)
- Requests has officially dropped support for PyPy 3.7 and 3.8 (#6641)
Documentation
- Various typo fixes and doc improvements.
Packaging
- Requests has started adopting some modern packaging practices. The source files for the projects (formerly
requests
) is now located insrc/requests
in the Requests sdist. (#6506)- Starting in Requests 2.33.0, Requests will migrate to a PEP 517 build system using
hatchling
. This should not impact the average user, but extremely old versions of packaging utilities may have issues with the new packaging format.
Commits
-
d6ebc4a
v2.32.0 -
9a40d12
Avoid reloading root certificates to improve concurrent performance (#6667) -
0c030f7
Merge pull request #6702 from nateprewitt/no_char_detection -
555b870
Allow character detection dependencies to be optional in post-packaging steps -
d6dded3
Merge pull request #6700 from franekmagiera/update-redirect-to-invalid-uri-test -
bf24b7d
Use an invalid URI that will not cause httpbin to throw 500 -
2d5f547
Pin 3.8 and 3.9 runners back to macos-13 (#6688) -
f1bb07d
Merge pull request #6687 from psf/dependabot/github_actions/github/codeql-act... -
60047ad
Bump github/codeql-action from 3.24.0 to 3.25.0 -
31ebb81
Merge pull request #6682 from frenzymadness/pytest8 - Additional commits viewable in compare view