Skip to content

fix(deps): update dependency requests to v2.32.4 [security]#629

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/pypi-requests-vulnerability
Open

fix(deps): update dependency requests to v2.32.4 [security]#629
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/pypi-requests-vulnerability

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 12, 2026

This PR contains the following updates:

Package Change Age Confidence
requests (source, changelog) 2.32.22.32.4 age confidence

GitHub Vulnerability Alerts

CVE-2024-35195

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.

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=False on your Requests Session (docs).

References

https://github.com/psf/requests/pull/6965
https://seclists.org/fulldisclosure/2025/Jun/2


Release Notes

psf/requests (requests)

v2.32.4

Compare Source

Security

  • CVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted
    environment will retrieve credentials for the wrong hostname/machine from a
    netrc file.

Improvements

  • Numerous documentation improvements

Deprecations

  • Added support for pypy 3.11 for Linux and macOS.
  • Dropped support for pypy 3.9 following its end of support.

v2.32.3

Compare Source

Bugfixes

  • Fixed bug breaking the ability to specify custom SSLContexts in sub-classes of
    HTTPAdapter. (#​6716)
  • Fixed issue where Requests started failing to run on Python versions compiled
    without the ssl module. (#​6724)

v2.32.2

Compare Source

Deprecations

  • To provide a more stable migration for custom HTTPAdapters impacted
    by the CVE changes in 2.32.0, we've renamed _get_connection to
    a new public API, get_connection_with_tls_context. Existing custom
    HTTPAdapters will need to migrate their code to use this new API.
    get_connection is considered deprecated in all versions of Requests>=2.32.0.

    A minimal (2-line) example has been provided in the linked PR to ease
    migration, but we strongly urge users to evaluate if their custom adapter
    is subject to the same issue described in CVE-2024-35195. (#​6710)

v2.32.1

Compare Source

Bugfixes

  • Add missing test certs to the sdist distributed on PyPI.

v2.32.0

Compare Source

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 of verify.
    (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 or charset_normalizer) when repackaged or vendored.
    This enables pip and other projects to minimize their vendoring
    surface area. The Response.text() and apparent_encoding APIs
    will default to utf-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
    in src/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.

Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Feb 12, 2026
@renovate renovate bot enabled auto-merge (squash) February 12, 2026 10:35
@renovate
Copy link
Contributor Author

renovate bot commented Feb 12, 2026

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: poetry.lock
Updating dependencies
Resolving dependencies...


The current project's supported Python range (>=3.9,<3.12) is not compatible with some of the required packages Python requirement:
  - mpflash requires Python >=3.9.2, so it will not be satisfied for Python >=3.9,<3.9.2
  - mpflash requires Python >=3.9.2, so it will not be satisfied for Python >=3.9,<3.9.2
  - mpflash requires Python >=3.9.2, so it will not be satisfied for Python >=3.9,<3.9.2
  - mpflash requires Python >=3.9.2, so it will not be satisfied for Python >=3.9,<3.9.2
  - mpflash requires Python >=3.9.2, so it will not be satisfied for Python >=3.9,<3.9.2
  - mpflash requires Python >=3.9.2, so it will not be satisfied for Python >=3.9,<3.9.2
  - mpflash requires Python >=3.9.2, so it will not be satisfied for Python >=3.9,<3.9.2

Because mpflash (1.26.7) requires Python >=3.9.2
 and mpflash (1.26.6) requires Python >=3.9.2, mpflash is forbidden.
And because mpflash (1.26.4) requires Python >=3.9.2
 and mpflash (1.26.3) requires Python >=3.9.2, mpflash is forbidden.
And because mpflash (1.26.2) requires Python >=3.9.2
 and mpflash (1.26.1) requires Python >=3.9.2, mpflash is forbidden.
And because mpflash (1.26.0) depends on tenacity (9.0.0)
 and mpflash (1.25.2) depends on tenacity (9.0.0), mpflash (1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0).
And because mpflash (1.25.1) depends on tenacity (9.0.0)
 and mpflash (1.25.0.post4) depends on tenacity (9.0.0), mpflash (1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0).
And because mpflash (1.25.0.post3) depends on tenacity (9.0.0)
 and mpflash (1.25.0.post2) depends on tenacity (9.0.0), mpflash (1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0).
And because mpflash (1.24.8) depends on tenacity (9.0.0)
 and mpflash (1.24.7) depends on packaging (>=24.2,<25.0), mpflash (1.24.7 || 1.24.8 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (>=24.2,<25.0).
And because mpflash (1.24.6) depends on packaging (>=24.2,<25.0)
 and mpflash (1.24.5) depends on packaging (23.2), mpflash (1.24.5 || 1.24.6 || 1.24.7 || 1.24.8 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because mpflash (1.24.4) depends on packaging (23.2)
 and mpflash (1.24.2) depends on packaging (23.2), mpflash (1.24.2 || 1.24.4 || 1.24.5 || 1.24.6 || 1.24.7 || 1.24.8 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because mpflash (1.24.1) depends on packaging (23.2)
 and mpflash (1.24.0) depends on packaging (23.2), mpflash (1.24.0 || 1.24.1 || 1.24.2 || 1.24.4 || 1.24.5 || 1.24.6 || 1.24.7 || 1.24.8 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because mpflash (1.0.5) depends on packaging (23.2)
 and mpflash (1.0.4) depends on packaging (23.2), mpflash (1.0.4 || 1.0.5 || 1.24.0 || 1.24.1 || 1.24.2 || 1.24.4 || 1.24.5 || 1.24.6 || 1.24.7 || 1.24.8 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because mpflash (1.0.3) depends on packaging (23.2)
 and mpflash (1.0.2) depends on packaging (23.2), mpflash (1.0.2 || 1.0.3 || 1.0.4 || 1.0.5 || 1.24.0 || 1.24.1 || 1.24.2 || 1.24.4 || 1.24.5 || 1.24.6 || 1.24.7 || 1.24.8 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because mpflash (1.25.0rc4) depends on tenacity (9.0.0)
 and mpflash (1.25.0rc3) depends on tenacity (9.0.0), mpflash (1.0.2 || 1.0.3 || 1.0.4 || 1.0.5 || 1.24.0 || 1.24.1 || 1.24.2 || 1.24.4 || 1.24.5 || 1.24.6 || 1.24.7 || 1.24.8 || 1.25.0rc3 || 1.25.0rc4 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because mpflash (1.25.0rc2) depends on tenacity (9.0.0)
 and mpflash (1.25.0rc1) depends on packaging (>=24.2,<25.0), mpflash (1.0.2 || 1.0.3 || 1.0.4 || 1.0.5 || 1.24.0 || 1.24.1 || 1.24.2 || 1.24.4 || 1.24.5 || 1.24.6 || 1.24.7 || 1.24.8 || 1.25.0rc1 || 1.25.0rc2 || 1.25.0rc3 || 1.25.0rc4 || 1.25.0.post2 || 1.25.0.post3 || 1.25.0.post4 || 1.25.1 || 1.25.2 || 1.26.0 || 1.26.1 || 1.26.2 || 1.26.3 || 1.26.4 || 1.26.6 || 1.26.7) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because no versions of mpflash match >1.0.2,<1.0.3 || >1.0.3,<1.0.4 || >1.0.4,<1.0.5 || >1.0.5,<1.24.0 || >1.24.0,<1.24.1 || >1.24.1,<1.24.2 || >1.24.2,<1.24.4 || >1.24.4,<1.24.5 || >1.24.5,<1.24.6 || >1.24.6,<1.24.7 || >1.24.7,<1.24.8 || >1.24.8,<1.25.0rc1 || >1.25.0rc1,<1.25.0rc2 || >1.25.0rc2,<1.25.0rc3 || >1.25.0rc3,<1.25.0rc4 || >1.25.0rc4,<1.25.0.post2 || >1.25.0.post2,<1.25.0.post3 || >1.25.0.post3,<1.25.0.post4 || >1.25.0.post4,<1.25.1 || >1.25.1,<1.25.2 || >1.25.2,<1.26.0 || >1.26.0,<1.26.1 || >1.26.1,<1.26.2 || >1.26.2,<1.26.3 || >1.26.3,<1.26.4 || >1.26.4,<1.26.6 || >1.26.6,<1.26.7 || >1.26.7,<1.26.8 || >1.26.8,<2.0.0
 and mpflash (1.26.8) requires Python >=3.9.2, mpflash (>=1.0.2,<2.0.0) requires tenacity (9.0.0) or packaging (23.2 || >=24.2,<25.0).
And because micropython-stubber (1.23.2) depends on both mpflash (>=1.0.2,<2.0.0) and tenacity (>=8.2.2,<9.0.0), micropython-stubber (1.23.2) requires packaging (23.2 || >=24.2,<25.0).
So, because micropy-cli depends on both packaging (==21.3) and micropython-stubber (==1.23.2), version solving failed.

  • Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties
    
    For mpflash, a possible solution would be to set the `python` property to ">=3.9.2,<3.12"
    For mpflash, a possible solution would be to set the `python` property to ">=3.9.2,<3.12"
    For mpflash, a possible solution would be to set the `python` property to ">=3.9.2,<3.12"
    For mpflash, a possible solution would be to set the `python` property to ">=3.9.2,<3.12"
    For mpflash, a possible solution would be to set the `python` property to ">=3.9.2,<3.12"
    For mpflash, a possible solution would be to set the `python` property to ">=3.9.2,<3.12"
    For mpflash, a possible solution would be to set the `python` property to ">=3.9.2,<3.12"

    https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
    https://python-poetry.org/docs/dependency-specification/#using-environment-markers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants