Chore(deps-dev): [security] bump aiohttp from 3.9.2 to 3.9.4
Bumps aiohttp from 3.9.2 to 3.9.4. This update includes a security fix.
Vulnerabilities fixed
aiohttp Cross-site Scripting vulnerability on index pages for static file handling
Summary
A XSS vulnerability exists on index pages for static file handling.
Details
When using
web.static(..., show_index=True)
, the resulting index pages do not escape file names.If users can upload files with arbitrary filenames to the static directory, the server is vulnerable to XSS attacks.
Workaround
We have always recommended using a reverse proxy server (e.g. nginx) for serving static files. Users following the recommendation are unaffected.
Other users can disable
show_index
if unable to upgrade.
Patch: aio-libs/aiohttp#8319
Patched versions: 3.9.4 Affected versions: < 3.9.4
Release notes
Sourced from aiohttp's releases.
3.9.4
Bug fixes
The asynchronous internals now set the underlying causes when assigning exceptions to the future objects -- by :user:
webknjaz
.Related issues and pull requests on GitHub: #8089.
Treated values of
Accept-Encoding
header as case-insensitive when checking for gzip files -- by :user:steverep
.Related issues and pull requests on GitHub: #8104.
Improved the DNS resolution performance on cache hit -- by :user:
bdraco
.This is achieved by avoiding an :mod:
asyncio
task creation in this case.Related issues and pull requests on GitHub: #8163.
Changed the type annotations to allow
dict
on :meth:aiohttp.MultipartWriter.append
, :meth:aiohttp.MultipartWriter.append_json
and :meth:aiohttp.MultipartWriter.append_form
-- by :user:cakemanny
Related issues and pull requests on GitHub: #7741.
Ensure websocket transport is closed when client does not close it -- by :user:
bdraco
.The transport could remain open if the client did not close it. This change ensures the transport is closed when the client does not close it.
... (truncated)
Changelog
Sourced from aiohttp's changelog.
3.9.4 (2024-04-11)
Bug fixes
The asynchronous internals now set the underlying causes when assigning exceptions to the future objects -- by :user:
webknjaz
.Related issues and pull requests on GitHub: :issue:
8089
.Treated values of
Accept-Encoding
header as case-insensitive when checking for gzip files -- by :user:steverep
.Related issues and pull requests on GitHub: :issue:
8104
.Improved the DNS resolution performance on cache hit -- by :user:
bdraco
.This is achieved by avoiding an :mod:
asyncio
task creation in this case.Related issues and pull requests on GitHub: :issue:
8163
.Changed the type annotations to allow
dict
on :meth:aiohttp.MultipartWriter.append
, :meth:aiohttp.MultipartWriter.append_json
and :meth:aiohttp.MultipartWriter.append_form
-- by :user:cakemanny
Related issues and pull requests on GitHub: :issue:
7741
.Ensure websocket transport is closed when client does not close it -- by :user:
bdraco
.The transport could remain open if the client did not close it. This change ensures the transport is closed when the client does not close it.
... (truncated)
Commits
-
b3397c7
Release v3.9.4 (#8201) -
a7e240a
[PR #8320/9ba9a4e5 backport][3.9] Fix Python parser to mark responses without... -
2833552
Escape filenames and paths in HTML when generating index pages (#8317) (#8319) -
ed43040
[PR #8309/c29945a1 backport][3.9] Improve reliability of run_app test (#8315) -
ec2be05
[PR #8299/28d026eb backport][3.9] Create marker for internal tests (#8307) -
292d961
[PR #8304/88c80c14 backport][3.9] Check for backports in CI (#8305) -
cebe526
Fix handling of multipart/form-data (#8280) (#8302) -
270ae9c
[PR #8297/d15f07cf backport][3.9] Upgrade to llhttp 9.2.1 (#8292) (#8298) -
bb23105
[PR #8283/54e13b0a backport][3.9] Fix blocking I/O in the event loop while pr... -
3f79241
[PR #8286/28f1fd88 backport][3.9] docs: remove repetitive word in comment (#8... - Additional commits viewable in compare view