[Security] Bump aiohttp from 3.6.2 to 3.7.4
Bumps aiohttp from 3.6.2 to 3.7.4. This update includes a security fix.
Vulnerabilities fixed
Sourced from The GitHub Security Advisory Database.
Open redirect vulnerability in
aiohttp(normalize_path_middlewaremiddleware)Impact
What kind of vulnerability is it? Who is impacted?
Open redirect vulnerability — a maliciously crafted link to an aiohttp-based web-server could redirect the browser to a different website.
It is caused by a bug in the
aiohttp.web_middlewares.normalize_path_middlewaremiddleware.Patches
Has the problem been patched? What versions should users upgrade to?
This security problem has been fixed in v3.7.4. Upgrade your dependency as follows: [
pip install aiohttp >= 3.7.4]Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
If upgrading is not an option for you, a workaround can be to avoid using
aiohttp.web_middlewares.normalize_path_middlewarein your applications.References
Are there any links users can visit to find out more?
... (truncated)
Affected versions: < 3.7.4
Release notes
Sourced from aiohttp's releases.
aiohttp 3.7.3 release
Features
- Use Brotli instead of brotlipy
[#3803](https://github.com/aio-libs/aiohttp/issues/3803) <https://github.com/aio-libs/aiohttp/issues/3803>_- Made exceptions pickleable. Also changed the repr of some exceptions.
[#4077](https://github.com/aio-libs/aiohttp/issues/4077) <https://github.com/aio-libs/aiohttp/issues/4077>_Bugfixes
- Raise a ClientResponseError instead of an AssertionError for a blank HTTP Reason Phrase.
[#3532](https://github.com/aio-libs/aiohttp/issues/3532) <https://github.com/aio-libs/aiohttp/issues/3532>_- Fix
web_middlewares.normalize_path_middlewarebehavior for patch without slash.[#3669](https://github.com/aio-libs/aiohttp/issues/3669) <https://github.com/aio-libs/aiohttp/issues/3669>_- Fix overshadowing of overlapped sub-applications prefixes.
[#3701](https://github.com/aio-libs/aiohttp/issues/3701) <https://github.com/aio-libs/aiohttp/issues/3701>_- Make
BaseConnector.close()a coroutine and wait until the client closes all connections. Drop deprecated "with Connector():" syntax.[#3736](https://github.com/aio-libs/aiohttp/issues/3736) <https://github.com/aio-libs/aiohttp/issues/3736>_- Reset the
sock_readtimeout each time data is received for aaiohttp.clientresponse.[#3808](https://github.com/aio-libs/aiohttp/issues/3808) <https://github.com/aio-libs/aiohttp/issues/3808>_- Fixed type annotation for add_view method of UrlDispatcher to accept any subclass of View
[#3880](https://github.com/aio-libs/aiohttp/issues/3880) <https://github.com/aio-libs/aiohttp/issues/3880>_- Fixed querying the address families from DNS that the current host supports.
[#5156](https://github.com/aio-libs/aiohttp/issues/5156) <https://github.com/aio-libs/aiohttp/issues/5156>_- Change return type of MultipartReader.aiter() and BodyPartReader.aiter() to AsyncIterator.
[#5163](https://github.com/aio-libs/aiohttp/issues/5163) <https://github.com/aio-libs/aiohttp/issues/5163>_- Provide x86 Windows wheels.
[#5230](https://github.com/aio-libs/aiohttp/issues/5230) <https://github.com/aio-libs/aiohttp/issues/5230>_Improved Documentation
- Add documentation for
aiohttp.web.FileResponse.[#3958](https://github.com/aio-libs/aiohttp/issues/3958) <https://github.com/aio-libs/aiohttp/issues/3958>_- Removed deprecation warning in tracing example docs
[#3964](https://github.com/aio-libs/aiohttp/issues/3964) <https://github.com/aio-libs/aiohttp/issues/3964>_- Fixed wrong "Usage" docstring of
aiohttp.client.request.[#4603](https://github.com/aio-libs/aiohttp/issues/4603) <https://github.com/aio-libs/aiohttp/issues/4603>_- Add aiohttp-pydantic to third party libraries
[#5228](https://github.com/aio-libs/aiohttp/issues/5228) <https://github.com/aio-libs/aiohttp/issues/5228>_Misc
... (truncated)
Changelog
Sourced from aiohttp's changelog.
3.7.4 (2021-02-25)
Bugfixes
(SECURITY BUG) Started preventing open redirects in the
aiohttp.web.normalize_path_middlewaremiddleware. For more details, see https://github.com/aio-libs/aiohttp/security/advisories/GHSA-v6wp-4m6f-gcjg.Thanks to Beast Glatisant for finding the first instance of this issue and Jelmer Vernooij for reporting and tracking it down in aiohttp. #5497
Fix interpretation difference of the pure-Python and the Cython-based HTTP parsers construct a
yarl.URLobject for HTTP request-target.Before this fix, the Python parser would turn the URI's absolute-path for
//some-pathinto/while the Cython code preserved it as//some-path. Now, both do the latter. #5498
3.7.3 (2020-11-18)
Features
- Use Brotli instead of brotlipy #3803
- Made exceptions pickleable. Also changed the repr of some exceptions. #4077
Bugfixes
- Raise a ClientResponseError instead of an AssertionError for a blank HTTP Reason Phrase. #3532
- Fix
web_middlewares.normalize_path_middlewarebehavior for patch without slash. #3669- Fix overshadowing of overlapped sub-applications prefixes. #3701
- Make BaseConnector.close() a coroutine and wait until the client closes all connections. Drop deprecated "with Connector():" syntax. #3736
- Reset the
sock_readtimeout each time data is received for aaiohttp.clientresponse. #3808- Fixed type annotation for add_view method of UrlDispatcher to accept any subclass of View #3880
- Fixed querying the address families from DNS that the current host supports. #5156
- Change return type of MultipartReader.__aiter__() and BodyPartReader.__aiter__() to AsyncIterator. #5163
- Provide x86 Windows wheels. #5230
Improved Documentation
- Add documentation for
aiohttp.web.FileResponse. #3958- Removed deprecation warning in tracing example docs #3964
- Fixed wrong "Usage" docstring of
aiohttp.client.request. #4603- Add aiohttp-pydantic to third party libraries #5228
Misc
... (truncated)
Commits
0a26accBump aiohttp to v3.7.4 for a security release021c416Merge branch 'ghsa-v6wp-4m6f-gcjg' into master4ed7c25Bump chardet from 3.0.4 to 4.0.0 (#5333)b61f0fdFix how pure-Python HTTP parser interprets//5c1efbcBump pre-commit from 2.9.2 to 2.9.3 (#5322)0075075Bump pygments from 2.7.2 to 2.7.3 (#5318)5085173Bump multidict from 5.0.2 to 5.1.0 (#5308)5d1a75eBump pre-commit from 2.9.0 to 2.9.2 (#5290)6724d0eBump pre-commit from 2.8.2 to 2.9.0 (#5273)c688451Removed duplicate timeout parameter in ClientSession reference docs. (#5262) ...- 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.
If all status checks pass Dependabot will automatically merge this pull request.
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)