Skip to content

Bump urllib3 from 2.4.0 to 2.8.0 - #471

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/urllib3-2.8.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/urllib3-2.8.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Bumps urllib3 from 2.4.0 to 2.8.0.

Release notes

Sourced from urllib3's releases.

2.8.0

🚀 urllib3 is fundraising for HTTP/2 support

urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects please consider contributing financially to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.

Thank you for your support.

Security

Fixed the following security issues:

  • The TLS configuration for HTTPS proxies could be ignored or overridden. (High severity, GHSA-8988-9cw3-xx77)
  • HTTPResponse.stream() and read_chunked() could buffer a chunk-size line of unbounded length in memory. (High severity, GHSA-vxq7-64xx-v4gw)
  • Chunked Deflate streaming could enter an infinite loop. (Medium severity, GHSA-gh4c-6fx4-qh6g)

[!IMPORTANT] urllib3 2.8.0 fixes HTTPS proxy TLS configuration being ignored or overridden by destination settings. Configurations relying on that behavior may require changes.

Configure proxy CA certificates and client certificates in proxy_ssl_context, and proxy identity checks with proxy_assert_hostname or proxy_assert_fingerprint. Destination client certificates and identity overrides no longer apply to HTTPS forwarding proxy connections.

[!NOTE] CVE IDs had not yet been assigned to these advisories at the time of release due to a backlog at GitHub's CNA.

Deprecations & Removals

  • Deprecated using an empty collection as the Retry option allowed_methods to retry any verb. (#5044)

Features

  • Added Url.auth_decoded and Url.auth_decoded_joined convenience properties to the result of parse_url(). (#4945)
  • Added basic_auth_encoding and proxy_basic_auth_encoding parameters to urllib3.util.make_headers(). (#5092)

Bugfixes

  • Fixed response header handling to replace obsolete folded header lines (obs-fold) with spaces in accordance with RFC 9112, preventing raw CRLF sequences from appearing in header values such as Set-Cookie. (#1362)

  • Fixed usage of proxy_ssl_context with ProxyManager when use_forwarding_for_https=True. Passing ssl_context instead of proxy_ssl_context for HTTPS proxies in this configuration now emits a FutureWarning and will raise an error in v3.0. (#2577)

  • Changed behavior of the default ConnectionPool.pool initialization. LifoQueue is now resolved from the queue module after the ConnectionPool is instantiated instead of using the default cached QueueCls class property. This is done because sometimes the queue.LifoQueue is monkey-patched late in the program, such as by gevent. (#3289)

  • Raised UnrewindableBodyError instead of ValueError when retrying a request whose body had tell() but not seek(). (#3779)

  • Decoded percent-encoded SOCKS proxy credentials before authenticating with the proxy server. (#3785)

  • Fixed HTTPResponse.drain_conn() to discard unread response data in 64 KiB chunks (same as the default amt when doing HTTPResponse.stream(...)). (#5019)

  • Fixed is_ipaddress() to detect non-standard IPv4 forms accepted by socket.connect, such as hex (0x7f000001), octal (0177.0.0.1), and decimal integers (2130706433), ensuring SSL certificate verification uses the correct mode for these addresses. (#5029)

  • Fixed HTTPConnectionPool.urlopen raising a misleading FullPoolError instead of ValueError when called with an invalid timeout argument on a pool created with block=True. (#5059)

  • Fixed port-zero handling to preserve explicit :0 values instead of substituting the default ports 80 or 443 in URL parsing, pool selection, proxy configuration, connection_from_url(), and HTTP/2 request authority. (#5071, #5101)

  • Fixed a bug where PoolManager passed the assert_hostname and assert_fingerprint parameters to HTTP connection pools. (#5077)

  • Fixed HTTPConnectionPool.urlopen() and HTTP proxy forwarding to strip URL fragments from absolute request targets before sending requests. (#5079)

  • Added safeguards to the proxy tunneling code to prevent potential security issues when handling invalid characters in the proxy host and HTTP headers. This change affects users of Python 3.10, Python 3.11, and Python 3.12 when the standard library does not contain the fix; those on newer Python versions should upgrade to 3.13.14+ or 3.14.5+ to get the same security fixes. (#5091)

  • Fixed HTTPSConnection.connect() overriding ProxyConfig.ssl_context's certificate policy and proxy identity checks with the target connection's TLS settings when forwarding through an HTTPS proxy.

    HTTPSConnection no longer applies target SNI, assertions, or client credentials to forwarding proxy handshakes and continues to use its ssl_context as a fallback when an HTTPS proxy forwards an HTTP target. (#5093)

  • Fixed URL parsing to more strictly enforce RFC 3986 host syntax, rejecting invalid host input such as raw spaces and control characters, malformed percent-encodings, and percent-encoded control characters in HTTP(S) hosts and IPv6 zone identifiers, including proxy CONNECT tunnel targets. Host normalization now also follows RFC 3986 normalization rules for percent-encoded octets by decoding percent-encoded unreserved characters and uppercasing the hexadecimal digits of retained percent-encoded octets. (#5095)

... (truncated)

Changelog

Sourced from urllib3's changelog.

2.8.0 (2026-09-15)

Security

Fixed the following security issues:

  • The TLS configuration for HTTPS proxies could be ignored or overridden. (High severity, GHSA-8988-9cw3-xx77 <https://github.com/urllib3/urllib3/security/advisories/GHSA-8988-9cw3-xx77>__)
  • HTTPResponse.stream() and read_chunked() could buffer a chunk-size line of unbounded length in memory. (High severity, GHSA-vxq7-64xx-v4gw <https://github.com/urllib3/urllib3/security/advisories/GHSA-vxq7-64xx-v4gw>__)
  • Chunked Deflate streaming could enter an infinite loop. (Medium severity, GHSA-gh4c-6fx4-qh6g <https://github.com/urllib3/urllib3/security/advisories/GHSA-gh4c-6fx4-qh6g>__)

.. caution::

urllib3 2.8.0 fixes HTTPS proxy TLS configuration being ignored or
overridden by destination settings. Configurations relying on that
behavior may require changes.

Configure proxy CA certificates and client certificates in proxy_ssl_context, and proxy identity checks with proxy_assert_hostname or proxy_assert_fingerprint. Destination client certificates and identity overrides no longer apply to HTTPS forwarding proxy connections.

Deprecations & Removals

  • Deprecated using an empty collection as the Retry option allowed_methods to retry any verb. ([#5044](https://github.com/urllib3/urllib3/issues/5044) <https://github.com/urllib3/urllib3/issues/5044>__)

Features

  • Added Url.auth_decoded and Url.auth_decoded_joined convenience properties to the result of parse_url(). ([#4945](https://github.com/urllib3/urllib3/issues/4945) <https://github.com/urllib3/urllib3/issues/4945>__)
  • Added basic_auth_encoding and proxy_basic_auth_encoding parameters to urllib3.util.make_headers(). ([#5092](https://github.com/urllib3/urllib3/issues/5092) <https://github.com/urllib3/urllib3/issues/5092>__)

Bugfixes

... (truncated)

Commits
  • b1d30ab Release 2.8.0
  • 9016d7e Skip test_read_chunked_with_trailing_data_does_not_hang for brotlicffi (#5258)
  • 9101f58 Fix nox -s docs warning (#5256)
  • cd770b0 Merge commit from fork
  • ea2ad7b Merge commit from fork
  • 0716e31 Fix loading unencrypted client keys with a password in pyOpenSSL (#5255)
  • 43c68c8 Test pickling of InvalidChunkLength (#5247)
  • 308b279 Share security policy between GitHub and Read the Docs (#5253)
  • 53fa073 Add policy on duplicate pull requests (#5252)
  • 5f2a6a8 Assert on the ALPN extension in test_tunnel_sets_http_11_alpn (#5232)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 8, 2026
@broly-code-security-scanner

broly-code-security-scanner Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Broly Security Scan

Warning

Latest baseline snapshot is stale. Broly is running in PR-only fallback mode until the next scheduled baseline refreshes. This does not block the PR.

Warning

Summary

13 actionable finding(s) in this PR

  • 🔴 3 critical
  • 🟠 4 high
  • 🟡 6 medium

Main table: 12 shown, 1 omitted of 13 actionable finding(s) above the reporting threshold. See the repository Security tab for the full set.

Severity Scanner Issue Location Dismiss Verdict
🔴 CRITICAL SCA black@25.9.0 — 3 vulnerabilities (worst:
PYSEC-2026-2120)
poetry.lock:1 d14 🔺 TRUE_POSITIVE · Confidence: HIGH
🔴 CRITICAL SCA transformers@4.56.2 — 15 vulnerabilities (worst:
PYSEC-2026-2290)
poetry.lock:1 d16 🔺 TRUE_POSITIVE · Confidence: HIGH
🔴 CRITICAL SCA pillow@11.3.0 — 45 vulnerabilities (worst:
GHSA-8g5g-8vmr-9782)
poetry.lock:1 d15 🔺 TRUE_POSITIVE · Confidence: HIGH
🟠 HIGH SCA fsspec@2025.3.0 — 2 vulnerabilities (worst:
GHSA-27vj-qcqg-25rc)
→ fixed in 2026.6.0
poetry.lock:1 d5 🔺 TRUE_POSITIVE · Confidence: HIGH
🟠 HIGH SCA aiohttp@3.12.15 — 72 vulnerabilities (worst:
GHSA-2g87-pp6c-29x5)
poetry.lock:1 d17 🔺 TRUE_POSITIVE · Confidence: HIGH
🟠 HIGH SCA virtualenv@20.34.0 — 14 vulnerabilities (worst:
GHSA-5vjq-rrrf-7h2q)
poetry.lock:1 d22 🔺 TRUE_POSITIVE · Confidence: HIGH
🟠 HIGH SCA pyarrow@21.0.0 — 2 vulnerabilities (worst:
GHSA-rgxp-2hwp-jwgg)
→ fixed in 23.0.1
poetry.lock:1 d8 🔺 TRUE_POSITIVE · Confidence: HIGH
🟡 MEDIUM SCA datasets@4.1.1 — 2 vulnerabilities (worst:
GHSA-379c-qx7v-6h59)
→ fixed in 5.0.1
poetry.lock:1 d3 🔺 TRUE_POSITIVE · Confidence: HIGH
🟡 MEDIUM SCA idna@3.10 — 2 vulnerabilities (worst:
GHSA-65pc-fj4g-8rjx)
→ fixed in 3.15
poetry.lock:1 d6 🔺 TRUE_POSITIVE · Confidence: HIGH
🟡 MEDIUM SCA pytest@8.4.2 — 2 vulnerabilities (worst:
GHSA-6w46-j5rx-g56g)
→ fixed in 9.0.3
poetry.lock:1 d10 🔺 TRUE_POSITIVE · Confidence: HIGH
🟡 MEDIUM SCA filelock@3.19.1 — 4 vulnerabilities (worst:
GHSA-w853-jp5j-5j7f)
poetry.lock:1 d19 🔺 TRUE_POSITIVE · Confidence: HIGH
🟡 MEDIUM SCA requests@2.32.5 — 2 vulnerabilities (worst:
PYSEC-2026-2275)
→ fixed in 2.33.0
poetry.lock:1 d21 🔺 TRUE_POSITIVE · Confidence: HIGH

Fix Suggestions

black@25.9.0 — 3 vulnerabilities (worst: PYSEC-2026-2120) — poetry.lock:1

Pin black to a patched version once available (e.g., poetry add black@latest --group dev) or, as a workaround, remove/upgrade black and run the formatter only in an isolated, untrusted-input-free CI environment; monitor PYSEC-2026-2120, PYSEC-2026-2121, and GHSA-3936-cmfr-pm3m for fixed releases.

transformers@4.56.2 — 15 vulnerabilities (worst: PYSEC-2026-2290) — poetry.lock:1

Upgrade to the latest transformers release that addresses the individual advisories (e.g., poetry add transformers@latest or poetry update transformers), and since no single fixed version covers all 15 advisories, review each advisory individually and pin to the newest available version while monitoring for patched releases; as an interim mitigation, avoid loading untrusted models/checkpoints and disable unsafe deserialization paths.

pillow@11.3.0 — 45 vulnerabilities (worst: GHSA-8g5g-8vmr-9782) — poetry.lock:1

Upgrade to the latest available Pillow release (e.g., poetry add pillow@latest or poetry update pillow) and monitor for patched releases addressing GHSA-8g5g-8vmr-9782; as an interim workaround, restrict or sandbox processing of untrusted image inputs.


Dismiss false positives

Tick a box to dismiss the finding; untick it to bring the finding back. That is the same as replying /broly dismiss d1 and /broly undismiss d1. To record why it is a false positive, reply with /broly dismiss d1: your reason instead — Broly reuses those reasons to triage similar findings across the org.

  • d14 · 🔴 CRITICAL · poetry.lock:1 · black@25.9.0 — 3 vulnerabilities (worst: PYSEC-2026-2120)
  • d15 · 🔴 CRITICAL · poetry.lock:1 · pillow@11.3.0 — 45 vulnerabilities (worst: GHSA-8g5g-8vmr-9782)
  • d16 · 🔴 CRITICAL · poetry.lock:1 · transformers@4.56.2 — 15 vulnerabilities (worst: PYSEC-2026-2290)
  • d17 · 🟠 HIGH     · poetry.lock:1 · aiohttp@3.12.15 — 72 vulnerabilities (worst: GHSA-2g87-pp6c-29x5)
  • d5 · 🟠 HIGH     · poetry.lock:1 · fsspec@2025.3.0 — 2 vulnerabilities (worst: GHSA-27vj-qcqg-25rc)
  • d8 · 🟠 HIGH     · poetry.lock:1 · pyarrow@21.0.0 — 2 vulnerabilities (worst: GHSA-rgxp-2hwp-jwgg)
  • d22 · 🟠 HIGH     · poetry.lock:1 · virtualenv@20.34.0 — 14 vulnerabilities (worst: GHSA-5vjq-rrrf-7h2q)
  • d3 · 🟡 MEDIUM   · poetry.lock:1 · datasets@4.1.1 — 2 vulnerabilities (worst: GHSA-379c-qx7v-6h59)
  • d19 · 🟡 MEDIUM   · poetry.lock:1 · filelock@3.19.1 — 4 vulnerabilities (worst: GHSA-w853-jp5j-5j7f)
  • d6 · 🟡 MEDIUM   · poetry.lock:1 · idna@3.10 — 2 vulnerabilities (worst: GHSA-65pc-fj4g-8rjx)
  • d20 · 🟡 MEDIUM   · poetry.lock:1 · pygments@2.19.1 — 2 vulnerabilities (worst: PYSEC-2026-2987)
  • d10 · 🟡 MEDIUM   · poetry.lock:1 · pytest@8.4.2 — 2 vulnerabilities (worst: GHSA-6w46-j5rx-g56g)
  • d21 · 🟡 MEDIUM   · poetry.lock:1 · requests@2.32.5 — 2 vulnerabilities (worst: PYSEC-2026-2275)

Note

Re-scan this PR anytime with /broly scan — useful after /broly undismiss, or to refresh findings without a new push.

Broly — SAST (GLM-5.3-Flash) · Secrets · SCA · IaC · GH Actions · Base Images · Supply Chain Threats · Attack Hypotheses · Adversarial Verification

We're continuously improving Broly's accuracy and finding quality — your feedback is valuable. False positives, missed findings, bugs, and feature requests all welcome.

Ask in #security-engineering   Powered by Together AI

Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock Fixed
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock Fixed
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock Fixed
Comment thread poetry.lock Fixed
Comment thread poetry.lock Fixed
Comment thread poetry.lock Fixed
@dependabot
dependabot Bot force-pushed the dependabot/pip/urllib3-2.8.0 branch from 257923f to 6e5e2b9 Compare October 21, 2026 16:52
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock Fixed
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.4.0 to 2.8.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](urllib3/urllib3@2.4.0...2.8.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.8.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/urllib3-2.8.0 branch from 6e5e2b9 to 64845c1 Compare October 21, 2026 17:52
Comment thread poetry.lock
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.5.1 and should not be changed by hand.
@dependabot @github

dependabot Bot commented on behalf of github Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

Looks like urllib3 is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Oct 22, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/urllib3-2.8.0 branch October 22, 2026 21:01
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 python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant