security(pip_requirements): 🛡️ patch 🛡️ vulnerability [medium]#71
Merged
tylerezimmerman merged 1 commit intomainfrom Jul 11, 2025
Merged
security(pip_requirements): 🛡️ patch 🛡️ vulnerability [medium]#71tylerezimmerman merged 1 commit intomainfrom
tylerezimmerman merged 1 commit intomainfrom
Conversation
bd55709 to
7c184d1
Compare
tylerezimmerman
approved these changes
Jul 11, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.32.3->==2.32.4==2.2.2->==2.5.0GitHub Vulnerability Alerts
CVE-2024-47081
Impact
Due to a URL parsing issue, Requests releases prior to 2.32.4 may leak .netrc credentials to third parties for specific maliciously-crafted URLs.
Workarounds
For older versions of Requests, use of the .netrc file can be disabled with
trust_env=Falseon your Requests Session (docs).References
https://github.com/psf/requests/pull/6965
https://seclists.org/fulldisclosure/2025/Jun/2
Requests vulnerable to .netrc credentials leak via malicious URLs
CVE-2024-47081 / GHSA-9hjg-9r4m-mvj7
More information
Details
Impact
Due to a URL parsing issue, Requests releases prior to 2.32.4 may leak .netrc credentials to third parties for specific maliciously-crafted URLs.
Workarounds
For older versions of Requests, use of the .netrc file can be disabled with
trust_env=Falseon your Requests Session (docs).References
https://github.com/psf/requests/pull/6965
https://seclists.org/fulldisclosure/2025/Jun/2
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
CVE-2025-50181
urllib3 handles redirects and retries using the same mechanism, which is controlled by the
Retryobject. The most common way to disable redirects is at the request level, as follows:However, it is also possible to disable redirects, for all requests, by instantiating a
PoolManagerand specifyingretriesin a way that disable redirects:However, the
retriesparameter is currently ignored, which means all the above examples don't disable redirects.Affected usages
Passing
retriesonPoolManagerinstantiation to disable redirects or restrict their number.By default, requests and botocore users are not affected.
Impact
Redirects are often used to exploit SSRF vulnerabilities. An application attempting to mitigate SSRF or open redirect vulnerabilities by disabling redirects at the PoolManager level will remain vulnerable.
Remediation
You can remediate this vulnerability with the following steps:
request()level instead of thePoolManager()level.CVE-2025-50182
urllib3 supports being used in a Pyodide runtime utilizing the JavaScript Fetch API or falling back on XMLHttpRequest. This means you can use Python libraries to make HTTP requests from your browser or Node.js. Additionally, urllib3 provides a mechanism to control redirects.
However, the
retriesandredirectparameters are ignored with Pyodide; the runtime itself determines redirect behavior.Affected usages
Any code which relies on urllib3 to control the number of redirects for an HTTP request in a Pyodide runtime.
Impact
Redirects are often used to exploit SSRF vulnerabilities. An application attempting to mitigate SSRF or open redirect vulnerabilities by disabling redirects may remain vulnerable if a Pyodide runtime redirect mechanism is unsuitable.
Remediation
If you use urllib3 in Node.js, upgrade to a patched version of urllib3.
Unfortunately, browsers provide no suitable way which urllib3 can use:
XMLHttpRequestprovides no control over redirects, the Fetch API returnsopaqueredirectresponses lacking data when redirects are controlled manually. Expect default browser behavior for redirects.urllib3 does not control redirects in browsers and Node.js
CVE-2025-50182 / GHSA-48p4-8xcf-vxj5
More information
Details
urllib3 supports being used in a Pyodide runtime utilizing the JavaScript Fetch API or falling back on XMLHttpRequest. This means you can use Python libraries to make HTTP requests from your browser or Node.js. Additionally, urllib3 provides a mechanism to control redirects.
However, the
retriesandredirectparameters are ignored with Pyodide; the runtime itself determines redirect behavior.Affected usages
Any code which relies on urllib3 to control the number of redirects for an HTTP request in a Pyodide runtime.
Impact
Redirects are often used to exploit SSRF vulnerabilities. An application attempting to mitigate SSRF or open redirect vulnerabilities by disabling redirects may remain vulnerable if a Pyodide runtime redirect mechanism is unsuitable.
Remediation
If you use urllib3 in Node.js, upgrade to a patched version of urllib3.
Unfortunately, browsers provide no suitable way which urllib3 can use:
XMLHttpRequestprovides no control over redirects, the Fetch API returnsopaqueredirectresponses lacking data when redirects are controlled manually. Expect default browser behavior for redirects.Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation
CVE-2025-50181 / GHSA-pq67-6m6q-mj2v
More information
Details
urllib3 handles redirects and retries using the same mechanism, which is controlled by the
Retryobject. The most common way to disable redirects is at the request level, as follows:However, it is also possible to disable redirects, for all requests, by instantiating a
PoolManagerand specifyingretriesin a way that disable redirects:However, the
retriesparameter is currently ignored, which means all the above examples don't disable redirects.Affected usages
Passing
retriesonPoolManagerinstantiation to disable redirects or restrict their number.By default, requests and botocore users are not affected.
Impact
Redirects are often used to exploit SSRF vulnerabilities. An application attempting to mitigate SSRF or open redirect vulnerabilities by disabling redirects at the PoolManager level will remain vulnerable.
Remediation
You can remediate this vulnerability with the following steps:
request()level instead of thePoolManager()level.Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
psf/requests (requests)
v2.32.4Compare Source
Security
environment will retrieve credentials for the wrong hostname/machine from a
netrc file.
Improvements
Deprecations
urllib3/urllib3 (urllib3)
v2.5.0Compare Source
==================
Features
compression.zstdmodule that is new in Python 3.14.See
PEP 784 <https://peps.python.org/pep-0784/>_ for more information. (#​3610 <https://github.com/urllib3/urllib3/issues/3610>__)hatch-vcs(#​3612 <https://github.com/urllib3/urllib3/issues/3612>__)Bugfixes
redirects at the
urllib3.PoolManagerlevel via theretriesparameterdid not work.
retriesand
redirects.HTTPResponse.shutdownon a connection already released to the pool. (#​3581 <https://github.com/urllib3/urllib3/issues/3581>__)CONNECTstatement when using an IPv6 proxy withconnection_from_host. Previously would not be wrapped in[]. (#​3615 <https://github.com/urllib3/urllib3/issues/3615>__)v2.4.0Compare Source
==================
Features
#​3522 <https://github.com/urllib3/urllib3/issues/3522>__)#​3567 <https://github.com/urllib3/urllib3/issues/3567>__)verify_flagsoption tocreate_urllib3_contextwith a default ofVERIFY_X509_PARTIAL_CHAINandVERIFY_X509_STRICTfor Python 3.13+. (#​3571 <https://github.com/urllib3/urllib3/issues/3571>__)Bugfixes
#​3555 <https://github.com/urllib3/urllib3/issues/3555>__)Misc
#​3550 <https://github.com/urllib3/urllib3/issues/3550>__)multiple.intoto.jsonlasset from GitHub releases. Attestation of release files since v2.3.0 can be found on PyPI. (#​3566 <https://github.com/urllib3/urllib3/issues/3566>__)v2.3.0Compare Source
==================
Features
#​3522 <https://github.com/urllib3/urllib3/issues/3522>__)#​3567 <https://github.com/urllib3/urllib3/issues/3567>__)verify_flagsoption tocreate_urllib3_contextwith a default ofVERIFY_X509_PARTIAL_CHAINandVERIFY_X509_STRICTfor Python 3.13+. (#​3571 <https://github.com/urllib3/urllib3/issues/3571>__)Bugfixes
#​3555 <https://github.com/urllib3/urllib3/issues/3555>__)Misc
#​3550 <https://github.com/urllib3/urllib3/issues/3550>__)multiple.intoto.jsonlasset from GitHub releases. Attestation of release files since v2.3.0 can be found on PyPI. (#​3566 <https://github.com/urllib3/urllib3/issues/3566>__)v2.2.3Compare Source
==================
Features
#​3473 <https://github.com/urllib3/urllib3/issues/3473>__)Bugfixes
All other methods of supplying a request body already use UTF-8 starting in urllib3 v2.0. (
#​3053 <https://github.com/urllib3/urllib3/issues/3053>__)#​3252 <https://github.com/urllib3/urllib3/issues/3252>__)#​3413 <https://github.com/urllib3/urllib3/issues/3413>__)#​3432 <https://github.com/urllib3/urllib3/issues/3432>__)HTTPConnection.default_socket_options. (#​3448 <https://github.com/urllib3/urllib3/issues/3448>__)HTTP/2 (experimental)
HTTP/2 support is still in early development.
Excluded Transfer-Encoding: chunked from HTTP/2 request body (
#​3425 <https://github.com/urllib3/urllib3/issues/3425>__)Added version checking for
h2(https://pypi.org/project/h2/) usage.Now only accepting supported h2 major version 4.x.x. (
#​3290 <https://github.com/urllib3/urllib3/issues/3290>__)Added a probing mechanism for determining whether a given target origin
supports HTTP/2 via ALPN. (
#​3301 <https://github.com/urllib3/urllib3/issues/3301>__)Add support for sending a request body with HTTP/2 (
#​3302 <https://github.com/urllib3/urllib3/issues/3302>__)Deprecations and Removals
_version.pyfile has been removed and is now created at build time by hatch-vcs. (#​3412 <https://github.com/urllib3/urllib3/issues/3412>__)#​3475 <https://github.com/urllib3/urllib3/issues/3475>__)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.