snekomatic
snekomatic copied to clipboard
[Security] Bump urllib3 from 1.25.8 to 1.26.5
Bumps urllib3 from 1.25.8 to 1.26.5. This update includes security fixes.
Vulnerabilities fixed
Sourced from The GitHub Security Advisory Database.
Catastrophic backtracking in URL authority parser when passed URL containing many @ characters
Impact
When provided with a URL containing many
@characters in the authority component the authority regular expression exhibits catastrophic backtracking causing a denial of service if a URL were passed as a parameter or redirected to via an HTTP redirect.Patches
The issue has been fixed in urllib3 v1.26.5.
References
For more information
If you have any questions or comments about this advisory:
- Ask in our community Discord
- Email [email protected]
Affected versions: < 1.26.5
Sourced from The GitHub Security Advisory Database.
CRLF injection urllib3 before 1.25.9 allows CRLF injection if the attacker controls the HTTP request method, as demonstrated by inserting CR and LF control characters in the first argument of putrequest(). NOTE: this is similar to CVE-2020-26116.
Affected versions: < 1.25.9
Release notes
Sourced from urllib3's releases.
1.26.5
:warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap
- Fixed deprecation warnings emitted in Python 3.10.
- Updated vendored
sixlibrary to 1.16.0.- Improved performance of URL parser when splitting the authority component.
If you or your organization rely on urllib3 consider supporting us via GitHub Sponsors
1.26.4
:warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap
- Changed behavior of the default
SSLContextwhen connecting to HTTPS proxy during HTTPS requests. The defaultSSLContextnow setscheck_hostname=True.If you or your organization rely on urllib3 consider supporting us via GitHub Sponsors
1.26.3
:warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap
Fixed bytes and string comparison issue with headers (Pull #2141)
Changed
ProxySchemeUnknownerror message to be more actionable if the user supplies a proxy URL without a scheme (Pull #2107)If you or your organization rely on urllib3 consider supporting us via GitHub Sponsors
1.26.2
:warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap
- Fixed an issue where
wrap_socketandCERT_REQUIREDwouldn't be imported properly on Python 2.7.8 and earlier (Pull #2052)1.26.1
:warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap
- Fixed an issue where two
User-Agentheaders would be sent if aUser-Agentheader key is passed asbytes(Pull #2047)1.26.0
:warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap
Added support for HTTPS proxies contacting HTTPS servers (Pull #1923, Pull #1806)
Deprecated negotiating TLSv1 and TLSv1.1 by default. Users that still wish to use TLS earlier than 1.2 without a deprecation warning should opt-in explicitly by setting
ssl_version=ssl.PROTOCOL_TLSv1_1(Pull #2002) Starting in urllib3 v2.0: Connections that receive aDeprecationWarningwill failDeprecated
RetryoptionsRetry.DEFAULT_METHOD_WHITELIST,Retry.DEFAULT_REDIRECT_HEADERS_BLACKLISTandRetry(method_whitelist=...)in favor ofRetry.DEFAULT_ALLOWED_METHODS,Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT, andRetry(allowed_methods=...)(Pull #2000) Starting in urllib3 v2.0: Deprecated options will be removed
... (truncated)
Changelog
Sourced from urllib3's changelog.
1.26.5 (2021-05-26)
- Fixed deprecation warnings emitted in Python 3.10.
- Updated vendored
sixlibrary to 1.16.0.- Improved performance of URL parser when splitting the authority component.
1.26.4 (2021-03-15)
- Changed behavior of the default
SSLContextwhen connecting to HTTPS proxy during HTTPS requests. The defaultSSLContextnow setscheck_hostname=True.1.26.3 (2021-01-26)
- Fixed bytes and string comparison issue with headers (Pull #2141)
- Changed
ProxySchemeUnknownerror message to be more actionable if the user supplies a proxy URL without a scheme. (Pull #2107)1.26.2 (2020-11-12)
- Fixed an issue where
wrap_socketandCERT_REQUIREDwouldn't be imported properly on Python 2.7.8 and earlier (Pull #2052)1.26.1 (2020-11-11)
- Fixed an issue where two
User-Agentheaders would be sent if aUser-Agentheader key is passed asbytes(Pull #2047)1.26.0 (2020-11-10)
- NOTE: urllib3 v2.0 will drop support for Python 2. Read more in the v2.0 Roadmap.
- Added support for HTTPS proxies contacting HTTPS servers (Pull #1923, Pull #1806)
- Deprecated negotiating TLSv1 and TLSv1.1 by default. Users that still wish to use TLS earlier than 1.2 without a deprecation warning should opt-in explicitly by setting
ssl_version=ssl.PROTOCOL_TLSv1_1(Pull #2002) Starting in urllib3 v2.0: Connections that receive aDeprecationWarningwill fail- Deprecated
RetryoptionsRetry.DEFAULT_METHOD_WHITELIST,Retry.DEFAULT_REDIRECT_HEADERS_BLACKLISTandRetry(method_whitelist=...)in favor ofRetry.DEFAULT_ALLOWED_METHODS,Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT, andRetry(allowed_methods=...)(Pull #2000) Starting in urllib3 v2.0: Deprecated options will be removed- Added default
User-Agentheader to every request (Pull #1750)- Added
urllib3.util.SKIP_HEADERfor skippingUser-Agent,Accept-Encoding, andHostheaders from being automatically emitted with requests (Pull #2018)- Collapse
transfer-encoding: chunkedrequest data and framing into the samesocket.send()call (Pull #1906)- Send
http/1.1ALPN identifier with every TLS handshake by default (Pull #1894)- Properly terminate SecureTransport connections when CA verification fails (Pull #1977)
- Don't emit an
SNIMissingWarningwhen passingserver_hostname=Noneto SecureTransport (Pull #1903)- Disabled requesting TLSv1.2 session tickets as they weren't being used by urllib3 (Pull #1970)
- Suppress
BrokenPipeErrorwhen writing request body after the server has closed the socket (Pull #1524)- Wrap
ssl.SSLErrorthat can be raised from reading a socket (e.g. "bad MAC") into anurllib3.exceptions.SSLError(Pull #1939)1.25.11 (2020-10-19)
- Fix retry backoff time parsed from
Retry-Afterheader when given in the HTTP date format. The HTTP date was parsed as the local timezone rather than accounting for the timezone in the HTTP date (typically UTC) (Pull #1932, Pull #1935, Pull #1938, Pull #1949)- Fix issue where an error would be raised when the
SSLKEYLOGFILEenvironment variable was set to the empty string. NowSSLContext.keylog_fileis not set in this situation (Pull #2016)
... (truncated)
Commits
d161647Release 1.26.52d4a3feImprove performance of sub-authority splitting in URL2698537Update vendored six to 1.16.007bed79Fix deprecation warnings for Python 3.10 ssl moduled725a9bAdd Python 3.10 to GitHub Actions339ad34Use pytest==6.2.4 on Python 3.10+f271c9cApply latest Black formatting1884878[1.26] Properly proxy EOF on the SSLTransport test suitea891304Release 1.26.48d65ea1Merge pull request from GHSA-5phf-pp7p-vc2r- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language@dependabot badge mewill comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Codecov Report
Merging #184 (a5ed90e) into master (43e8e6d) will not change coverage. The diff coverage is
n/a.
@@ Coverage Diff @@
## master #184 +/- ##
=======================================
Coverage 94.39% 94.39%
=======================================
Files 13 13
Lines 660 660
Branches 56 56
=======================================
Hits 623 623
Misses 28 28
Partials 9 9