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

chore(deps): bump requests from 2.28.2 to 2.31.0 #259

Merged
merged 1 commit into from
Jun 20, 2023

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 22, 2023

Bumps requests from 2.28.2 to 2.31.0.

Release notes

Sourced from requests's releases.

v2.31.0

2.31.0 (2023-05-22)

Security

  • Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential forwarding of Proxy-Authorization headers to destination servers when following HTTPS redirects.

    When proxies are defined with user info (https://user:pass@proxy:8080), Requests will construct a Proxy-Authorization header that is attached to the request to authenticate with the proxy.

    In cases where Requests receives a redirect response, it previously reattached the Proxy-Authorization header incorrectly, resulting in the value being sent through the tunneled connection to the destination server. Users who rely on defining their proxy credentials in the URL are strongly encouraged to upgrade to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy credentials once the change has been fully deployed.

    Users who do not use a proxy or do not supply their proxy credentials through the user information portion of their proxy URL are not subject to this vulnerability.

    Full details can be read in our Github Security Advisory and CVE-2023-32681.

v2.30.0

2.30.0 (2023-05-03)

Dependencies

v2.29.0

2.29.0 (2023-04-26)

Improvements

  • Requests now defers chunked requests to the urllib3 implementation to improve standardization. (#6226)
  • Requests relaxes header component requirements to support bytes/str subclasses. (#6356)
Changelog

Sourced from requests's changelog.

2.31.0 (2023-05-22)

Security

  • Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential forwarding of Proxy-Authorization headers to destination servers when following HTTPS redirects.

    When proxies are defined with user info (https://user:pass@proxy:8080), Requests will construct a Proxy-Authorization header that is attached to the request to authenticate with the proxy.

    In cases where Requests receives a redirect response, it previously reattached the Proxy-Authorization header incorrectly, resulting in the value being sent through the tunneled connection to the destination server. Users who rely on defining their proxy credentials in the URL are strongly encouraged to upgrade to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy credentials once the change has been fully deployed.

    Users who do not use a proxy or do not supply their proxy credentials through the user information portion of their proxy URL are not subject to this vulnerability.

    Full details can be read in our Github Security Advisory and CVE-2023-32681.

2.30.0 (2023-05-03)

Dependencies

2.29.0 (2023-04-26)

Improvements

  • Requests now defers chunked requests to the urllib3 implementation to improve standardization. (#6226)
  • Requests relaxes header component requirements to support bytes/str subclasses. (#6356)
Commits

Dependabot compatibility score

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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [requests](https://github.com/psf/requests) from 2.28.2 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.28.2...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot requested a review from a team as a code owner May 22, 2023 17:59
@dependabot dependabot bot added the dependencies Pull requests that update dependencies label May 22, 2023
@thekaveman thekaveman self-assigned this Jun 20, 2023
Copy link
Member

@thekaveman thekaveman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Install updates

Outside the devcontainer

Rebuild the images:

$ bin/build.sh

Inside the devcontainer

Confirm package updates (edited for brevity / relevant packages)

$ pip freeze
...
eligibility-api==2023.1.1
...
Flask==2.2.3
Flask-RESTful==0.3.9
Flask-SQLAlchemy==3.0.3
...
requests==2.31.0
...
urllib3==2.0.3

Run pytest

✅ All pytests passed locally

Inside the devcontainer

$ export PYTHONWARNINGS="default"
$ pytest
==================================================================== test session starts
platform linux -- Python 3.10.9, pytest-7.3.2, pluggy-1.0.0
rootdir: /home/calitp/app
plugins: mock-3.11.1
collected 45 items
...
============================================================== 45 passed, 10 warnings in 1.56s

The 10 warnings (really multiple instances of the same warning) come in from other packages and so will be ignored for now:

/home/calitp/.local/lib/python3.10/site-packages/flask/testing.py:71: 
DeprecationWarning: 'werkzeug.urls.url_parse' is deprecated and will be removed in Werkzeug 3.0. 
Use 'urllib.parse.urlsplit' instead.

/home/calitp/.local/lib/python3.10/site-packages/werkzeug/urls.py:545: 
DeprecationWarning: 'werkzeug.urls.URL' is deprecated and will be removed in Werkzeug 3.0. 
Use the 'urllib.parse' library instead.

Additional manual tests

✅ Confirmed Agency Card verification locally (local benefits)

Build server image

Outside the devcontainer

$ docker compose build server

Setup benefits compose.yml

Use the newly built local eligibility-server image instead of the one from GHCR:

server:
  image: eligibility_server:latest

Outside the devcontainer:

$ docker compose up -d client server

Confirm eligibility_server:latest is the running image:

image

And the log output of the running server shows requests from benefits (with the correct version of requests):

image

urllib3 2.0 considerations

See the note about urllib3 2.0 on this related PR review: cal-itp/benefits#1406 (review)

For this repository, the only dependent package is requests:

$ pipdeptree --reverse | grep "requires: urllib3"
└── requests==2.31.0 [requires: urllib3>=1.21.1,<3]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update dependencies
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant