Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.
Open advisories
55 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.
An attacker sending an absolute-form request can spoof the scheme used. Impact If user code depends on the Request.scheme attribute for anything security related, an attacker may be able to circumvent this logic, tricking the application into thinking a connection is encrypted when it is not, or vice versa. Workaround A WAF rule to reject absolute-form requests (legitimate requests should only use this form for proxies).
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
A subdomain can remove the Host-Only flag from an existing cookie to a parent domain. Impact A user accessing untrusted subdomains could see their Host-Only protections stripped from cookies. Given most usecases won't reflect these cookies to a browser, the impact is limited.
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
An overflow in Max-Age processing can skip closing a connection. Impact An attacker may be able to exhaust the connection pool temporarily, until garbage collection resolves the connections.
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The pure Python parser is vulnerable to an HTTP request smuggling attack. Impact If users are using the Python parser (AIOHTTPNOEXTENSIONS, or not a standard wheel installed), then an application may be vulnerable to a request smuggling attack. Workaround Switch to the default C parser.
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
An attacker can exhaust file descriptors with specially crafted multipart requests. Impact If a handler uses Request.post(), it may be possible for an attacker to use an unlimited number of file descriptors, potentially resulting in resource exhaustion.
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The keepalive timeout was not used during the initial portion of a request. Impact An attacker could keep an idle connection open indefinitely before sending any data. Workaround Use a reverse proxy (as recommended for all production deployments) with sensible keepalive limits.
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The Secure attribute was not being enforced for the shared cookie. Impact It may be possible to send a shared cookie marked Secure through an unencrypted request.
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Multiple cases were found where aiohttp could use excessive or unbounded memory, or excessive CPU consumption on attacker controlled requests. Impact An attacker could cause resource exhaustion through specially crafted requests.
Recommended action: Upgrade to 3.14.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
An out-of-bounds heap read could occur in the C response parser while building an error message for a malformed response. Impact An attacker controlled server, or possibly an accidental response could trigger a DoS in the client. Workaround If unable to upgrade, the Python parser is unaffected and can be used with AIOHTTPNOEXTENSIONS=1. --- Patch: https://github.com/aio-libs/aiohttp/commit/49f65d54150397892f7bcc4aae887767d51c322d
Recommended action: Upgrade to 3.14.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The HTTP parsers were vulnerable to a request smuggling attack relating to WebSocket upgrades. Impact If using the server-side component, it may be possible for an attacker to execute a request smuggling vulnerability using an edge case in the WebSocket upgrade procedure. AIOHTT is unaware of any public exploit code. --- Patch: https://github.com/aio-libs/aiohttp/commit/6ae358f0983c3f4d6f67692b2f8e65dc8e091c98
Recommended action: Upgrade to 3.14.2 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The client accepts and decompresses frames with the RSV1 bit set even when the permessage-deflate extension was not negotiated. Impact A client may unexpectedly decompress WebSocket frames when explicitly opted out. This could lead to additional CPU/memory consumption, but is unlikely to be a significant issue unless a zip bomb vulnerability or similar is also present. --- Patch: https://github.com/aio-libs/aiohttp/commit/47fb6ae354d4fa22048f4dbe7dbf82b625f0a2f6
Recommended action: Upgrade to 3.14.2 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
If an attacker sends large incomplete websocket frame payloads, it may be possible to bypass the usual size limits on memory use. Impact If a web application has WebSocket endpoints, it may be possible for an attacker to execute a DoS attack through excessive memory use. ----- Patch: https://github.com/aio-libs/aiohttp/commit/14b6ee851fb16ec199acb950de0c82d476799e7d
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The serverhostname TLS SNI check can be bypassed when an existing connection is reused. Impact If an application makes multiple requests to the same domain, but with different per-request serverhostname parameters, then the later calls may succeed by reusing the existing connection when they should have been rejected due to the TLS SNI check. Workaround Disable keepalive if you need to change the serverhostname check between requests. ----- Patch: https://github.com/aio-libs/aiohttp/commit/0ca2b6c28a25726527a8b60f25960262a91ed0e0
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Payload resources are not closed correctly when a client disconnects in the middle of a write. Impact If a payload is using an open file or similar limited resource, then an attacker may be able to cause resource starvation temporarily until garbage collection or similar closes the file. ----- Patch: https://github.com/aio-libs/aiohttp/commit/a762eda5242f6490d6ba667533193f8b473ad587
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
No limit was present on the number of pipelined requests that could be queued. Impact An attacker may be able to use pipelined requests to use excessive amounts of memory, potentially leading to DoS. ----- Patch: https://github.com/aio-libs/aiohttp/commit/dfdfa9d5aad5d21f91c79fb2ceeba0f8046cb6cf
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
During cleanup it is possible for a compressed request body to be decompressed into memory in one chunk. Impact An attacker may be able to send a compressed payload in specific situations that could be decompressed into memory, potentially leading to DoS (a zip bomb edge case). Workaround Disable compression if unable to upgrade. ----- Patch: https://github.com/aio-libs/aiohttp/commit/4f7480e474cccc6a8cc2c92ad3f17a31dedf8232
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
It is possible to bypass the maxlinesize check in parts of an HTTP request in the C parser. Impact If using the optimised C parser (the default in pre-built wheels), then an attacker may be able to send oversized lines through the HTTP parser and use an excessive amount of memory, potentially leading to DoS. ----- Patch: https://github.com/aio-libs/aiohttp/commit/5ab61bb4cd88f19b712f12c7c9295fe262bf804d
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
DigestAuthMiddleware can send an authentication response after following a cross-origin redirect. Impact If the client follows a redirect (the default option) to an attacker controlled domain, the attacker may be able to extract the auth digest. This likely requires an open redirect vulnerability or similar on the target domain for an attacker to be able to execute. Further, the attacker is only receiving the digest, so should only be able to extract the user's credentials if the cryptography is weak or there is some kind of password reuse. Workaround Disable followredirects if this is a concern. ----- Patch: https://github.com/aio-libs/aiohttp/commit/38d16060037e1bfcd6d677abababa3c2a4bb58fa
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Host-only cookies that are saved with ``CookieJar.save()`` and then restored later with ``CookieJar.load()`` lose their host-only status. Impact Host-only cookies that have been loaded from disk may get sent to subdomains that previously should have been disallowed. ----- Patch: https://github.com/aio-libs/aiohttp/commit/a329a7aacad5284f087af36103aff778746da0f2
Recommended action: Upgrade to 3.14.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Attacker-controlled input included into multipart/payload headers can be used to modify a request to inject additional headers or similar. Impact In the unlikely situation that an application is passing user-controlled strings into MultipartWriter.append(headers=...) or Payload.headers, then an attacker may be able to modify the request to inject headers or change the contents of the request. Workaround Sanitise such user input. ----- Patch: https://github.com/aio-libs/aiohttp/commit/bf88077ebb14f4c29924b8e8904cba20c55c28b8
Recommended action: Upgrade to 3.14.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Cookies set with the cookies parameter on requests are sent after following a cross-origin redirect. Impact If a developer uses the cookies parameter on a per-request basis then sensitive data might be leaked to an attacker if they manage to control a redirect. Workaround If unable to upgrade, using a Cookie header in the headers parameter is not vulnerable. ----- Patch: https://github.com/aio-libs/aiohttp/commit/f54c40851b0d6c4bbdab97ba518a223adda32478
Recommended action: Upgrade to 3.14.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Using CookieJar.load() with untrusted input may allow arbitrary code execution. Impact Most applications using this function will be doing so with the user's own data, so this is unlikely to affect many applications. Workaround If an application does allow attacker controlled files to be loaded, a workaround on older releases would be to sanitise the files before loading. ----- Patch: https://github.com/aio-libs/aiohttp/commit/dcf40f30637e8752c76781cf6703b5a236749a00
Recommended action: Upgrade to 3.14.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Multiple Host headers were allowed in aiohttp. Impact Mostly this doesn't affect aiohttp security itself, but if a reverse proxy is applying security rules depending on the target Host, it is theoretically possible that the proxy and aiohttp could process different host names, possibly resulting in bypassing a security check on the proxy and getting a request processed by aiohttp in a privileged sub app when using Application.adddomain(). ----- Patch: https://github.com/aio-libs/aiohttp/commit/e00ca3cca92c465c7913c4beb763a72da9ed8349 Patch: https://github.com/aio-libs/aiohttp/commit/53e2e6fc58b89c6185be7820bd2c9f40216b3000
Recommended action: Upgrade to 3.13.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The C parser (the default for most installs) accepted null bytes and control characters in request headers. Impact An attacker could send header values that are interpreted differently than expected due to the presence of control characters. For example, request.url.origin() may return a different value than the raw Host header, or what a reverse proxy interpreted it as., potentially resulting in some kind of security bypass. ----- Patch: https://github.com/aio-libs/aiohttp/commit/9370b9714a7a56003cacd31a9b4ae16eab109ba4
Recommended action: Upgrade to 3.13.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
An attacker who controls the reason parameter when creating a Response may be able to inject extra headers or similar exploits. Impact In the unlikely situation that an application allows untrusted data to be used in the response's reason parameter, then an attacker could manipulate the response to send something different from what the developer intended. ----- Patch: https://github.com/aio-libs/aiohttp/commit/53b35a2f8869c37a133e60bf1a82a1c01642ba2b
Recommended action: Upgrade to 3.13.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.