Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency guzzlehttp/guzzle to v6.5.8 [SECURITY] #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

shokohsc
Copy link
Owner

This PR contains the following updates:

Package Type Update Change
guzzlehttp/guzzle (source) require minor 6.1.1 -> 6.5.8

GitHub Vulnerability Alerts

CVE-2016-5385

PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect applications from the presence of untrusted client data in the HTTP_PROXY environment variable, which might allow remote attackers to redirect an application's outbound HTTP traffic to an arbitrary proxy server via a crafted Proxy header in an HTTP request, as demonstrated by (1) an application that makes a getenv('HTTP_PROXY') call or (2) a CGI configuration of PHP, aka an "httpoxy" issue.

CVE-2022-29248

Impact

Previous version of Guzzle contain a vulnerability with the cookie middleware. The vulnerability is that it is not checked if the cookie domain equals the domain of the server which sets the cookie via the Set-Cookie header, allowing a malicious server to set cookies for unrelated domains. For example an attacker at www.example.com might set a session cookie for api.example.net, logging the Guzzle client into their account and retrieving private API requests from the security log of their account.

Note that our cookie middleware is disabled by default, so most library consumers will not be affected by this issue. Only those who manually add the cookie middleware to the handler stack or construct the client with ['cookies' => true] are affected. Moreover, those who do not use the same Guzzle client to call multiple domains and have disabled redirect forwarding are not affected by this vulnerability.

Patches

Affected Guzzle 7 users should upgrade to Guzzle 7.4.3 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.6 or 7.4.3.

Workarounds

If you do not need support for cookies, turn off the cookie middleware. It is already off by default, but if you have turned it on and no longer need it, turn it off.

References

For more information

If you have any questions or comments about this advisory, please get in touch with us in #guzzle on the PHP HTTP Slack. Do not report additional security advisories in that public channel, however - please follow our vulnerability reporting process.

CVE-2022-31042

Impact

Cookie headers on requests are sensitive information. On making a request using the https scheme to a server which responds with a redirect to a URI with the http scheme, or on making a request to a server which responds with a redirect to a a URI to a different host, we should not forward the Cookie header on. Prior to this fix, only cookies that were managed by our cookie middleware would be safely removed, and any Cookie header manually added to the initial request would not be stripped. We now always strip it, and allow the cookie middleware to re-add any cookies that it deems should be there.

Patches

Affected Guzzle 7 users should upgrade to Guzzle 7.4.4 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.7 or 7.4.4.

Workarounds

An alternative approach would be to use your own redirect middleware, rather than ours, if you are unable to upgrade. If you do not require or expect redirects to be followed, one should simply disable redirects all together.

References

For more information

If you have any questions or comments about this advisory, please get in touch with us in #guzzle on the PHP HTTP Slack. Do not report additional security advisories in that public channel, however - please follow our vulnerability reporting process.

CVE-2022-31043

Impact

Authorization headers on requests are sensitive information. On making a request using the https scheme to a server which responds with a redirect to a URI with the http scheme, we should not forward the Authorization header on. This is much the same as to how we don't forward on the header if the host changes. Prior to this fix, https to http downgrades did not result in the Authorization header being removed, only changes to the host.

Patches

Affected Guzzle 7 users should upgrade to Guzzle 7.4.4 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.7 or 7.4.4.

Workarounds

An alternative approach would be to use your own redirect middleware, rather than ours, if you are unable to upgrade. If you do not require or expect redirects to be followed, one should simply disable redirects all together.

References

For more information

If you have any questions or comments about this advisory, please get in touch with us in #guzzle on the PHP HTTP Slack. Do not report additional security advisories in that public channel, however - please follow our vulnerability reporting process.

CVE-2022-31090

Impact

Authorization headers on requests are sensitive information. When using our Curl handler, it is possible to use the CURLOPT_HTTPAUTH option to specify an Authorization header. On making a request which responds with a redirect to a URI with a different origin, if we choose to follow it, we should remove the CURLOPT_HTTPAUTH and CURLOPT_USERPWD options before continuing, stopping curl from appending the Authorization header to the new request. Previously, we would only consider a change in host. Now, we consider any change in host, port or scheme to be a change in origin.

Patches

Affected Guzzle 7 users should upgrade to Guzzle 7.4.5 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.8 or 7.4.5. Note that a partial fix was implemented in Guzzle 7.4.2, where a change in host would trigger removal of the curl-added Authorization header, however this earlier fix did not cover change in scheme or change in port.

Workarounds

If you do not require or expect redirects to be followed, one should simply disable redirects all together. Alternatively, one can specify to use the Guzzle stream handler backend, rather than curl.

References

For more information

If you have any questions or comments about this advisory, please get in touch with us in #guzzle on the PHP HTTP Slack. Do not report additional security advisories in that public channel, however - please follow our vulnerability reporting process.

CVE-2022-31091

Impact

Authorization and Cookie headers on requests are sensitive information. On making a request which responds with a redirect to a URI with a different port, if we choose to follow it, we should remove the Authorization and Cookie headers from the request, before containing. Previously, we would only consider a change in host or scheme downgrade. Now, we consider any change in host, port or scheme to be a change in origin.

Patches

Affected Guzzle 7 users should upgrade to Guzzle 7.4.5 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.8 or 7.4.5.

Workarounds

An alternative approach would be to use your own redirect middleware, rather than ours, if you are unable to upgrade. If you do not require or expect redirects to be followed, one should simply disable redirects all together.

References

For more information

If you have any questions or comments about this advisory, please get in touch with us in #guzzle on the PHP HTTP Slack. Do not report additional security advisories in that public channel, however - please follow our vulnerability reporting process.


Release Notes

guzzle/guzzle

v6.5.8

Compare Source

See change log for changes.

v6.5.7

Compare Source

See change log for changes.

v6.5.6

Compare Source

See change log for changes.

v6.5.5

Compare Source

v6.5.4

Compare Source

v6.5.3

Compare Source

v6.5.2

Compare Source

  • idn_to_ascii() fix for old PHP versions #​2489

v6.5.1

Compare Source

  • Better defaults for PHP installations with old ICU lib #​2454
  • IDN support for redirects #​2424

v6.5.0

Compare Source

  • Improvement: Added support for reset internal queue in MockHandler. #​2143
  • Improvement: Added support to pass arbitrary options to curl_multi_init. #​2287
  • Fix: Gracefully handle passing null to the header option. #​2132
  • Fix: RetryMiddleware did not do exponential delay between retires due unit mismatch. #​2132
  • Fix: Prevent undefined offset when using array for ssl_key options. #​2348
  • Deprecated ClientInterface::VERSION

v6.4.1

Compare Source

  • No guzzle.phar was created in 6.4.0 due expired API token. This release will fix that
  • Added parent::__construct() to FileCookieJar and SessionCookieJar

v6.4.0

Compare Source

  • Improvement: Improved error messages when using curl < 7.21.2 #​2108
  • Fix: Test if response is readable before returning a summary in RequestException::getResponseBodySummary() #​2081
  • Fix: Add support for GUZZLE_CURL_SELECT_TIMEOUT environment variable #​2161
  • Improvement: Added GuzzleHttp\Exception\InvalidArgumentException #​2163
  • Improvement: Added GuzzleHttp\_current_time() to use hrtime() if that function exists. #​2242
  • Improvement: Added curl's appconnect_time in TransferStats #​2284
  • Improvement: Make GuzzleException extend Throwable wherever it's available #​2273
  • Fix: Prevent concurrent writes to file when saving CookieJar #​2335
  • Improvement: Update MockHandler so we can test transfer time #​2362

v6.3.3

Compare Source

  • Fix: Default headers when decode_content is specified

v6.3.2

Compare Source

  • Fix: Release process

v6.3.1

Compare Source

  • Bug fix: Parsing 0 epoch expiry times in cookies #​2014
  • Improvement: Better ConnectException detection #​2012
  • Bug fix: Malformed domain that contains a "/" #​1999
  • Bug fix: Undefined offset when a cookie has no first key-value pair #​1998
  • Improvement: Support PHPUnit 6 #​1953
  • Bug fix: Support empty headers #​1915
  • Bug fix: Ignore case during header modifications #​1916
  • Minor code cleanups, documentation fixes and clarifications.

v6.3.0

Compare Source

  • Feature: force IP resolution (ipv4 or ipv6) #​1608, #​1659
  • Improvement: Don't include summary in exception message when body is empty #​1621
  • Improvement: Handle on_headers option in MockHandler #​1580
  • Improvement: Added SUSE Linux CA path #​1609
  • Improvement: Use class reference for getting the name of the class instead of using hardcoded strings #​1641
  • Feature: Added read_timeout option #​1611
  • Bug fix: PHP 7.x fixes #​1685, #​1686, #​1811
  • Deprecation: BadResponseException instantiation without a response #​1642
  • Feature: Added NTLM auth #​1569
  • Feature: Track redirect HTTP status codes #​1711
  • Improvement: Check handler type during construction #​1745
  • Improvement: Always include the Content-Length if there's a body #​1721
  • Feature: Added convenience method to access a cookie by name #​1318
  • Bug fix: Fill CURLOPT_CAPATH and CURLOPT_CAINFO properly #​1684
  • Improvement: Use \GuzzleHttp\Promise\rejection_for function instead of object init #​1827
  • Minor code cleanups, documentation fixes and clarifications.

v6.2.3

Compare Source

  • Fix deprecations with guzzle/psr7 version 1.4

v6.2.2

Compare Source

  • Allow to pass nullable Response to delay callable
  • Only add scheme when host is present
  • Fix drain case where content-length is the literal string zero
  • Obfuscate in-URL credentials in exceptions

v6.2.1

Compare Source

v6.2.0

Compare Source


Configuration

📅 Schedule: Branch creation - "" (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.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants