CVE-2023-49081
High · 7.2CVSS
7.2
EPSS
0.9%
Published
Nov 30, 2023
CISA due date
—
Cloudanix analysis
A flaw in a common web software component could allow an attacker to send a specially crafted request to bypass security controls and perform unauthorized actions.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability stems from improper validation of the HTTP version string in incoming requests. An attacker can inject carriage return and line feed (CRLF) characters into the HTTP version field, causing a desynchronization between the frontend proxy and the backend aiohttp application. This allows the attacker to split a single HTTP request into two, a technique known as HTTP Request Smuggling. The smuggled request can be used to inject arbitrary headers, bypass security controls, or execute unauthorized commands on backend systems.
Why it matters to the business
Exploitation of this vulnerability can lead to the bypass of critical security controls, such as web application firewalls (WAFs) and authentication mechanisms. This could allow an attacker to access sensitive data, hijack user sessions, poison web caches to serve malicious content to other users, or gain unauthorized access to internal applications. The business consequences include data breaches, account takeovers, and reputational damage. The high severity score with a 'Scope Change' indicates that the flaw can impact systems beyond the immediately vulnerable component.
How an attack unfolds
An attacker targets a web application that uses a vulnerable version of aiohttp, typically situated behind a reverse proxy or load balancer. The attacker crafts a single HTTP request but includes CRLF characters and a second, malicious HTTP request within the HTTP version string of the first request. For example: `GET / HTTP/1.1\r\nEvil-Header: value\r\n\r\nGET /admin...`. The frontend proxy sees one request and forwards it to the aiohttp backend. The vulnerable aiohttp server incorrectly parses the version string, causing the `Evil-Header` and the subsequent `GET /admin` request to be prepended to the next request in the proxy's connection queue. This smuggled request is then processed by the backend, potentially with elevated privileges or bypassing security checks.
How to fix it
The vulnerability is patched in aiohttp version 3.9.0 and later. Upgrade the aiohttp library to version 3.9.0 or a more recent stable release. Update your project's dependencies (e.g., requirements.txt, pyproject.toml) to specify `aiohttp>=3.9.0` and redeploy the application.
How to confirm the fix worked
To confirm remediation, verify that the version of the aiohttp library in your application's environment is 3.9.0 or higher. You can check this by running `pip show aiohttp` in the application's virtual environment or by inspecting the dependency lock file. To test for the vulnerability in a safe, pre-production environment, you can use specialized security tools or craft a request with an invalid HTTP version string (e.g., `GET / HTTP/1.1\r\nTest-Header: injected`) and monitor if the injected header is processed by the backend application.
Typical attack path
- The attacker identifies a public-facing application using a vulnerable version of aiohttp, often behind a reverse proxy.
- The attacker crafts a malicious HTTP request containing CRLF sequences and a second, smuggled request within the HTTP version string.
- The request is sent to the frontend proxy, which forwards the entire request body to the aiohttp application.
- The vulnerable aiohttp application fails to properly validate the HTTP version string, leading to an HTTP request smuggling condition.
- A backend server or the next component in the chain misinterprets the request stream and processes the attacker's smuggled request.
- The smuggled request is executed, allowing the attacker to bypass security controls, access restricted endpoints, or poison caches.
How to detect it
To detect potential exploitation, security teams should analyze HTTP logs from reverse proxies, load balancers, and the aiohttp application itself. Look for HTTP requests where the request line (the first line of the request) contains unexpected characters, specifically carriage return (`\r`, `%0d`) and line feed (`\n`, `%0a`) within the HTTP version string. An alert should be triggered for any request line that does not conform to the standard `METHOD /path HTTP/version` format. For example, a log entry showing `GET /index.html HTTP/1.1\r\n...` in the request field is a strong indicator of an attack attempt.
- HTTP/1.1%0d%0a
- HTTP/1.0%0d%0a
- HTTP/1.1\r\n
What your security team should do
- Immediately identify all applications using the aiohttp library and determine their versions using a Software Bill of Materials (SBoM) or dependency analysis tools.
- Prioritize upgrading all internet-facing applications using vulnerable versions of aiohttp to version 3.9.0 or later.
- If immediate patching is not possible, configure any upstream reverse proxy or WAF to normalize or reject HTTP requests that contain non-standard characters in the HTTP version string.
- Review web server and application logs for signs of past exploitation attempts, such as unusual characters in the request line.
The record
aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Improper validation made it possible for an attacker to modify the HTTP request (e.g. to insert a new header) or create a new HTTP request if the attacker controls the HTTP version. The vulnerability only occurs if the attacker can control the HTTP version of the request. This issue has been patched in version 3.9.0.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | aiohttp | 0 | 1e86b777e61cf4eefc7d92fa57fa19dcc676013b |
| PyPI | aiohttp | 0 | 3.9.0 |
| Chainguard | py3-cassandra-medusa | 0 | 0.19.1-r1 |
| Chainguard | py3-cassandra-medusa-compat | 0 | 0.19.1-r1 |
| Debian:11 | python-aiohttp | 0 | No fix |
| Debian:11 | python-aiohttp | 0 | 3.7.4-1+deb11u1 |
| Debian:12 | python-aiohttp | 0 | No fix |
| Debian:12 | python-aiohttp | 0 | 3.8.4-1+deb12u1 |
| Debian:13 | python-aiohttp | 0 | 3.9.1-1 |
| Red Hat:ansible_automation_platform:2.4::el8 | ansible-automation-platform-installer | 0 | 0:2.4-6.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | ansible-rulebook | 0 | 0:1.0.5-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | automation-eda-controller | 0 | 0:1.0.5-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | automation-eda-controller-server | 0 | 0:1.0.5-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | automation-eda-controller-ui | 0 | 0:1.0.5-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-aiohttp | 0 | 0:3.9.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-aiohttp-debuginfo | 0 | 0:3.9.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-django | 0 | 0:4.2.10-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-jinja2 | 0 | 0:3.1.3-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-pillow | 0 | 0:10.0.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-pillow-debuginfo | 0 | 0:10.0.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-pycryptodomex | 0 | 0:3.20.0-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-pycryptodomex-debuginfo | 0 | 0:3.20.0-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python39-pygments | 0 | 0:2.17.2-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-aiohttp | 0 | 0:3.9.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-aiohttp-debugsource | 0 | 0:3.9.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-django | 0 | 0:4.2.10-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-jinja2 | 0 | 0:3.1.3-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-pillow | 0 | 0:10.0.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-pillow-debugsource | 0 | 0:10.0.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-pycryptodomex | 0 | 0:3.20.0-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-pycryptodomex-debugsource | 0 | 0:3.20.0-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | python3x-pygments | 0 | 0:2.17.2-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el9 | ansible-automation-platform-installer | 0 | 0:2.4-6.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | ansible-rulebook | 0 | 0:1.0.5-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | automation-eda-controller | 0 | 0:1.0.5-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | automation-eda-controller-server | 0 | 0:1.0.5-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | automation-eda-controller-ui | 0 | 0:1.0.5-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-aiohttp | 0 | 0:3.9.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-aiohttp-debugsource | 0 | 0:3.9.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-django | 0 | 0:4.2.10-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-jinja2 | 0 | 0:3.1.3-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-pillow | 0 | 0:10.0.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-pillow-debugsource | 0 | 0:10.0.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-pycryptodomex | 0 | 0:3.20.0-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-pycryptodomex-debugsource | 0 | 0:3.20.0-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python-pygments | 0 | 0:2.17.2-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-aiohttp | 0 | 0:3.9.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-aiohttp-debuginfo | 0 | 0:3.9.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-django | 0 | 0:4.2.10-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-jinja2 | 0 | 0:3.1.3-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-pillow | 0 | 0:10.0.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-pillow-debuginfo | 0 | 0:10.0.1-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-pycryptodomex | 0 | 0:3.20.0-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-pycryptodomex-debuginfo | 0 | 0:3.20.0-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | python3-pygments | 0 | 0:2.17.2-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.4::el8 | python39-jinja2 | 0 | 0:3.1.3-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.4::el8 | python39-pygments | 0 | 0:2.17.2-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.4::el8 | python3x-jinja2 | 0 | 0:3.1.3-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.4::el8 | python3x-pygments | 0 | 0:2.17.2-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.4::el9 | python-jinja2 | 0 | 0:3.1.3-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.4::el9 | python-pygments | 0 | 0:2.17.2-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.4::el9 | python3-jinja2 | 0 | 0:3.1.3-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.4::el9 | python3-pygments | 0 | 0:2.17.2-1.el9ap |
| Red Hat:ansible_automation_platform_inside:2.4::el8 | python39-jinja2 | 0 | 0:3.1.3-1.el8ap |
| Red Hat:ansible_automation_platform_inside:2.4::el8 | python39-pygments | 0 | 0:2.17.2-1.el8ap |
| Red Hat:ansible_automation_platform_inside:2.4::el8 | python3x-jinja2 | 0 | 0:3.1.3-1.el8ap |
| Red Hat:ansible_automation_platform_inside:2.4::el8 | python3x-pygments | 0 | 0:2.17.2-1.el8ap |
| Red Hat:ansible_automation_platform_inside:2.4::el9 | python-jinja2 | 0 | 0:3.1.3-1.el9ap |
| Red Hat:ansible_automation_platform_inside:2.4::el9 | python-pygments | 0 | 0:2.17.2-1.el9ap |
| Red Hat:ansible_automation_platform_inside:2.4::el9 | python3-jinja2 | 0 | 0:3.1.3-1.el9ap |
| Red Hat:ansible_automation_platform_inside:2.4::el9 | python3-pygments | 0 | 0:2.17.2-1.el9ap |
| Red Hat:rhui:4::el8 | python-aiohttp | 0 | 0:3.9.2-1.el8ui |
| Red Hat:rhui:4::el8 | python-aiohttp-debugsource | 0 | 0:3.9.2-1.el8ui |
| Red Hat:rhui:4::el8 | python-cryptography | 0 | 0:41.0.6-1.el8ui |
| Red Hat:rhui:4::el8 | python-cryptography-debugsource | 0 | 0:41.0.6-1.el8ui |
| Red Hat:rhui:4::el8 | python-django | 0 | 0:4.2.11-1.el8ui |
| Red Hat:rhui:4::el8 | python-ecdsa | 0 | 0:0.18.0-4.el8ui |
| Red Hat:rhui:4::el8 | python-jinja2 | 0 | 0:3.1.3-1.el8ui |
| Red Hat:rhui:4::el8 | python3.11-aiohttp | 0 | 0:3.9.2-1.el8ui |
| Red Hat:rhui:4::el8 | python3.11-aiohttp-debuginfo | 0 | 0:3.9.2-1.el8ui |
| Red Hat:rhui:4::el8 | python3.11-cryptography | 0 | 0:41.0.6-1.el8ui |
| Red Hat:rhui:4::el8 | python3.11-cryptography-debuginfo | 0 | 0:41.0.6-1.el8ui |
| Red Hat:rhui:4::el8 | python3.11-django | 0 | 0:4.2.11-1.el8ui |
| Red Hat:rhui:4::el8 | python3.11-ecdsa | 0 | 0:0.18.0-4.el8ui |
| Red Hat:rhui:4::el8 | python3.11-jinja2 | 0 | 0:3.1.3-1.el8ui |
| Red Hat:satellite:6.14::el8 | python-aiohttp | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite:6.14::el8 | python-aiohttp-debugsource | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite:6.14::el8 | python-django | 0 | 0:3.2.22-1.el8pc |
| Red Hat:satellite:6.14::el8 | python-galaxy-importer | 0 | 0:0.4.18-2.el8pc |
| Red Hat:satellite:6.14::el8 | python-jinja2 | 0 | 0:3.1.3-0.1.el8pc |
| Red Hat:satellite:6.14::el8 | python39-aiohttp | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite:6.14::el8 | python39-aiohttp-debuginfo | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite:6.14::el8 | python39-django | 0 | 0:3.2.22-1.el8pc |
| Red Hat:satellite:6.14::el8 | python39-galaxy-importer | 0 | 0:0.4.18-2.el8pc |
| Red Hat:satellite:6.14::el8 | python39-jinja2 | 0 | 0:3.1.3-0.1.el8pc |
| Red Hat:satellite:6.15::el8 | foreman | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-cli | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-debug | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-dynflow-sidekiq | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-ec2 | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-journald | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-libvirt | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-openstack | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-ovirt | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-pcp | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-postgresql | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-redis | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-service | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-telemetry | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | foreman-vmware | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | puppetserver | 0 | 0:7.14.0-1.el8sat |
| Red Hat:satellite:6.15::el8 | python-aiohttp | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite:6.15::el8 | python-aiohttp-debugsource | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite:6.15::el8 | python-django | 0 | 0:4.2.9-1.el8pc |
| Red Hat:satellite:6.15::el8 | python-galaxy-importer | 0 | 0:0.4.19-2.el8pc |
| Red Hat:satellite:6.15::el8 | python-jinja2 | 0 | 0:3.1.3-1.el8pc |
| Red Hat:satellite:6.15::el8 | python-pycryptodomex | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite:6.15::el8 | python-pycryptodomex-debugsource | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite:6.15::el8 | python-pygments | 0 | 0:2.17.0-1.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-aiohttp | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-aiohttp-debuginfo | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-django | 0 | 0:4.2.9-1.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-galaxy-importer | 0 | 0:0.4.19-2.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-jinja2 | 0 | 0:3.1.3-1.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-pycryptodomex | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-pycryptodomex-debuginfo | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite:6.15::el8 | python3.11-pygments | 0 | 0:2.17.0-1.el8pc |
| Red Hat:satellite:6.15::el8 | rubygem-activesupport | 0 | 0:6.1.7.6-1.el8sat |
| Red Hat:satellite:6.15::el8 | rubygem-audited | 0 | 0:5.4.2-1.el8sat |
| Red Hat:satellite:6.15::el8 | rubygem-puma | 0 | 0:6.4.2-1.el8sat |
| Red Hat:satellite:6.15::el8 | rubygem-puma-debuginfo | 0 | 0:6.4.2-1.el8sat |
| Red Hat:satellite:6.15::el8 | rubygem-puma-debugsource | 0 | 0:6.4.2-1.el8sat |
| Red Hat:satellite_capsule:6.14::el8 | python-aiohttp | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python-aiohttp-debugsource | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python-django | 0 | 0:3.2.22-1.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python-galaxy-importer | 0 | 0:0.4.18-2.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python-jinja2 | 0 | 0:3.1.3-0.1.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python39-aiohttp | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python39-aiohttp-debuginfo | 0 | 0:3.9.2-0.1.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python39-django | 0 | 0:3.2.22-1.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python39-galaxy-importer | 0 | 0:0.4.18-2.el8pc |
| Red Hat:satellite_capsule:6.14::el8 | python39-jinja2 | 0 | 0:3.1.3-0.1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | foreman | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-cli | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-debug | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-dynflow-sidekiq | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-ec2 | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-journald | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-libvirt | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-openstack | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-ovirt | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-pcp | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-postgresql | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-redis | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-service | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-telemetry | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | foreman-vmware | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | puppetserver | 0 | 0:7.14.0-1.el8sat |
| Red Hat:satellite_capsule:6.15::el8 | python-aiohttp | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python-aiohttp-debugsource | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python-django | 0 | 0:4.2.9-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python-galaxy-importer | 0 | 0:0.4.19-2.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python-jinja2 | 0 | 0:3.1.3-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python-pycryptodomex | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python-pycryptodomex-debugsource | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python-pygments | 0 | 0:2.17.0-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-aiohttp | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-aiohttp-debuginfo | 0 | 0:3.9.2-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-django | 0 | 0:4.2.9-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-galaxy-importer | 0 | 0:0.4.19-2.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-jinja2 | 0 | 0:3.1.3-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-pycryptodomex | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-pycryptodomex-debuginfo | 0 | 0:3.20.0-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | python3.11-pygments | 0 | 0:2.17.0-1.el8pc |
| Red Hat:satellite_capsule:6.15::el8 | rubygem-activesupport | 0 | 0:6.1.7.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-cli | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-debug | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-dynflow-sidekiq | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-ec2 | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-journald | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-libvirt | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-openstack | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-ovirt | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-pcp | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-postgresql | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-redis | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-service | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-telemetry | 0 | 0:3.9.1.6-1.el8sat |
| Red Hat:satellite_utils:6.15::el8 | foreman-vmware | 0 | 0:3.9.1.6-1.el8sat |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP1 | python-aiohttp | 0 | 3.6.0-150100.3.15.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP2 | python-aiohttp | 0 | 3.6.0-150100.3.15.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP3 | python-aiohttp | 0 | 3.6.0-150100.3.15.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP4 | python-aiohttp | 0 | 3.6.0-150100.3.15.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | python-aiohttp | 0 | 3.6.0-150100.3.15.1 |
| SUSE:Linux Enterprise Module for Python 3 15 SP5 | python-aiohttp | 0 | 3.8.5-150400.10.8.1 |
| Ubuntu:20.04:LTS | python-aiohttp | 0 | No fix |
| Ubuntu:22.04:LTS | python-aiohttp | 0 | No fix |
| Ubuntu:24.04:LTS | python-aiohttp | 0 | No fix |
| Ubuntu:24.10 | python-aiohttp | 0 | 3.9.1-1build1 |
Related vulnerabilities
- CVE-2025-69229 AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Also affects aiohttp
- CVE-2025-69223 AIOHTTP's HTTP Parser auto_decompress feature is vulnerable to zip bomb Also affects aiohttp
- CVE-2025-69224 AIOHTTP's unicode processing of header values could cause parsing discrepancies Also affects aiohttp
- CVE-2025-69226 AIOHTTP vulnerable to brute-force leak of internal static file path components Also affects aiohttp
- CVE-2025-69225 AIOHTTP has unicode match groups in regexes for ASCII protocol elements Also affects aiohttp
- CVE-2025-69228 AIOHTTP vulnerable to denial of service through large payloads Also affects aiohttp
- CVE-2025-69230 AIOHTTP Vulnerable to Cookie Parser Warning Storm Also affects aiohttp
- CVE-2025-69227 AIOHTTP vulnerable to DoS when bypassing asserts Also affects aiohttp