← Back to issue list

build(deps): update dependency urllib3 to v2.5.0 [security] (hotfix/2.10) - autoclosed

View original Github issue

Metadata

Project
craft-parts
Number
#1131
Type
pull request
State
closed
Author
renovate[bot]
Labels
—
Created
Updated
Closed

Current evaluation

Autoclosed unmerged after Trivy and OSV checks failed; no urllib3 2.5.0 change landed on hotfix/2.10. A later dependency bump merged in #1135.

Resolution: closed stale

Reason: Renovate autoclosed PR #1131 without merging it, and no resolving change landed on hotfix/2.10. A separate urllib3 bump was later merged in #1135 via commit 74e21521.

Evaluated by: mr-cal-bot

No scores available.

Issue body

This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [urllib3](https://redirect.github.com/urllib3/urllib3) ([changelog](https://redirect.github.com/urllib3/urllib3/blob/main/CHANGES.rst)) | `==2.3.0` -> `==2.5.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/urllib3/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/urllib3/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/urllib3/2.3.0/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/urllib3/2.3.0/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. ### GitHub Vulnerability Alerts #### [CVE-2025-50182](https://redirect.github.com/urllib3/urllib3/security/advisories/GHSA-48p4-8xcf-vxj5) urllib3 [supports](https://urllib3.readthedocs.io/en/2.4.0/reference/contrib/emscripten.html) being used in a Pyodide runtime utilizing the [JavaScript Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) or falling back on [XMLHttpRequest](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest). This means you can use Python libraries to make HTTP requests from your browser or Node.js. Additionally, urllib3 provides [a mechanism](https://urllib3.readthedocs.io/en/2.4.0/user-guide.html#retrying-requests) to control redirects. However, the `retries` and `redirect` parameters 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: `XMLHttpRequest` provides no control over redirects, the Fetch API returns `opaqueredirect` responses lacking data when redirects are controlled manually. Expect default browser behavior for redirects. #### [CVE-2025-50181](https://redirect.github.com/urllib3/urllib3/security/advisories/GHSA-pq67-6m6q-mj2v) urllib3 handles redirects and retries using the same mechanism, which is controlled by the `Retry` object. The most common way to disable redirects is at the request level, as follows: ```python resp = urllib3.request("GET", "https://httpbin.org/redirect/1", redirect=False) print(resp.status) # 302 ``` However, it is also possible to disable redirects, for all requests, by instantiating a `PoolManager` and specifying `retries` in a way that disable redirects: ```python import urllib3 http = urllib3.PoolManager(retries=0) # should raise MaxRetryError on redirect http = urllib3.PoolManager(retries=urllib3.Retry(redirect=0)) # equivalent to the above http = urllib3.PoolManager(retries=False) # should return the first response resp = http.request("GET", "https://httpbin.org/redirect/1") ``` However, the `retries` parameter is currently ignored, which means all the above examples don't disable redirects. ## Affected usages Passing `retries` on `PoolManager` instantiation 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: * Upgrade to a patched version of urllib3. If your organization would benefit from the continued support of urllib3 1.x, please contact [sethmichaellarson@gmail.com](mailto:sethmichaellarson@gmail.com) to discuss sponsorship or contribution opportunities. * Disable redirects at the `request()` level instead of the `PoolManager()` level. --- ### Release Notes <details> <summary>urllib3/urllib3 (urllib3)</summary> ### [`v2.5.0`](https://redirect.github.com/urllib3/urllib3/blob/HEAD/CHANGES.rst#250-2025-06-18) [Compare Source](https://redirect.github.com/urllib3/urllib3/compare/2.4.0...2.5.0) \================== ## Features - Added support for the `compression.zstd` module that is new in Python 3.14. See `PEP 784 <https://peps.python.org/pep-0784/>`\_ for more information. (`#&#8203;3610 <https://github.com/urllib3/urllib3/issues/3610>`\_\_) - Added support for version 0.5 of `hatch-vcs` (`#&#8203;3612 <https://github.com/urllib3/urllib3/issues/3612>`\_\_) ## Bugfixes - Fixed a security issue where restricting the maximum number of followed redirects at the `urllib3.PoolManager` level via the `retries` parameter did not work. - Made the Node.js runtime respect redirect parameters such as `retries` and `redirects`. - Raised exception for `HTTPResponse.shutdown` on a connection already released to the pool. (`#&#8203;3581 <https://github.com/urllib3/urllib3/issues/3581>`\_\_) - Fixed incorrect `CONNECT` statement when using an IPv6 proxy with `connection_from_host`. Previously would not be wrapped in `[]`. (`#&#8203;3615 <https://github.com/urllib3/urllib3/issues/3615>`\_\_) ### [`v2.4.0`](https://redirect.github.com/urllib3/urllib3/blob/HEAD/CHANGES.rst#240-2025-04-10) [Compare Source](https://redirect.github.com/urllib3/urllib3/compare/2.3.0...2.4.0) \================== ## Features - Applied PEP 639 by specifying the license fields in pyproject.toml. (`#&#8203;3522 <https://github.com/urllib3/urllib3/issues/3522>`\__) - Updated exceptions to save and restore more properties during the pickle/serialization process. (`#&#8203;3567 <https://github.com/urllib3/urllib3/issues/3567>`\__) - Added `verify_flags` option to `create_urllib3_context` with a default of `VERIFY_X509_PARTIAL_CHAIN` and `VERIFY_X509_STRICT` for Python 3.13+. (`#&#8203;3571 <https://github.com/urllib3/urllib3/issues/3571>`\__) ## Bugfixes - Fixed a bug with partial reads of streaming data in Emscripten. (`#&#8203;3555 <https://github.com/urllib3/urllib3/issues/3555>`\__) ## Misc - Switched to uv for installing development dependecies. (`#&#8203;3550 <https://github.com/urllib3/urllib3/issues/3550>`\__) - Removed the `multiple.intoto.jsonl` asset from GitHub releases. Attestation of release files since v2.3.0 can be found on PyPI. (`#&#8203;3566 <https://github.com/urllib3/urllib3/issues/3566>`\__) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone Etc/UTC, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/craft-parts). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42MC4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjAuMSIsInRhcmdldEJyYW5jaCI6ImhvdGZpeC8yLjEwIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed stale Autoclosed unmerged after Trivy and OSV checks failed; no urllib3 2.5.0 change landed on hotfix/2.10. A later dependency bump merged in #1135.
stealth/space-bunny-alpha — closed stale Renovate autoclosed the urllib3 2.5.0 update for hotfix/2.10 unmerged after Trivy and OSV-scanner failed; no resolving change was recorded for this branch.
qwen/qwen3.6-35b-a3b — — Renovate automatically closed this urllib3 v2.5.0 security update without merging. The pull request was autoclosed, indicating it was superseded by a newer update or abandoned.
qwen3.6-35b-a3b-mtp-q6 — — The Renovate pull request updating urllib3 to v2.5.0 for security patches was automatically closed without merging. The bot abandoned the update.

Update history

No update history recorded yet.

Related work

Related issues

Issue Project State Summary Similarity
#1132 build(deps): update dependency urllib3 to v2.5.0 [security] (hotfix/2.4) - autoclosed craft-parts closed Autoclosed unmerged after no review and with failing checks; urllib3 2.5.0 was not applied to hotfix/2.4. A separate autogenerated bump later merged in #1135.
92%
#1133 build(deps): update dependency urllib3 to v2.5.0 [security] (hotfix/2.7) - autoclosed craft-parts closed Renovate PR #1133 was autoclosed without merge; the same urllib3 2.5.0 update was merged in #1135 as commit 74e21521.
90%
#5564 build(deps): update dependency urllib3 to v2 [security] (hotfix/7.5) snapcraft closed Renovate's urllib3 1.26.19->2.5.0 security bump for hotfix/7.5 was closed unmerged after medubelko noted it was "Not used"; the underlying docs/requirements.txt was later deleted in merged PR #5598 (f42ae1ee4).
85%
#5565 build(deps): update dependency urllib3 to v2 [security] (hotfix/8.9) snapcraft closed PR #5565 was closed unmerged: a maintainer said its urllib3 dependency file was unused. The obsolete docs requirements file was later removed by merged PR #5598 (f42ae1ee4).
85%
#5596 build(deps): update dependency urllib3 to v2 [security] (hotfix/8.10) snapcraft closed Closed unmerged: the unused Sphinx requirements file made no update necessary; merged PR #5598 (f42ae1ee4) deleted it instead of upgrading urllib3.
84%
#1408 fix(deps): update urllib3 to 2.5.1 to address security vulnerabilities craft-parts closed Closed unmerged; the urllib3 security update was superseded by merged PR #1411 (commit 044ea761), which upgraded uv.lock from urllib3 2.5.0 to 2.6.1.
82%
#1130 build(deps): update dependency urllib3 to v2.5.0 [security] (main) craft-parts closed Renovate's urllib3 2.3.0->2.5.0 PR was closed unmerged as a duplicate of merged PR #1135 (commit 74e21521), which bumped urllib3 in pyproject.toml and uv.lock.
82%
#344 build(deps): bump urllib3 imagecraft merged Merged urllib3 dependency bump (uv.lock, +3/-3) fixing an OSV advisory; commit 033c84e landed PR #344 with 2 approvals and all CI checks green.
81%
#5563 build(deps): update dependency urllib3 to v2 [security] (main) snapcraft closed Closed unmerged because the targeted dependency file was unused; merged PR #5598 (f42ae1ee4) deleted it, removing the need for urllib3 v2.
81%
#5562 build(deps): bump urllib3 from 1.26.20 to 2.5.0 in /docs/.sphinx snapcraft closed Dependabot's urllib3 update was closed unmerged because the target requirements file was unused; merged PR #5598 later removed it in f42ae1ee4.
80%