CVE-2023-49081 json
aiohttp's ClientSession is vulnerable to CRLF injection via version
published 2023-11-27 2 y ago modified 2026-09-10 1 mo ago also GHSA-q3qx-c6g2-7pw2 , PYSEC-2023-250 , EUVD-2023-0006
- cvss
- 7.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 59%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi aiohttp 3.9.0
- aiohttp aiohttp 3.9.0
- python-aiohttp Debian 12 3.8.4-1+deb12u1
- python-aiohttp Debian 14, Debian 13 3.9.1-1
debian advisories DEBIAN-CVE-2023-49081
- python-aiohttp Ubuntu Pro 18.04 LTS 3.0.1-1ubuntu0.1~esm5
- python-aiohttp Ubuntu Pro 22.04 LTS 3.8.1-4ubuntu0.2+esm1
ubuntu advisories UBUNTU-CVE-2023-49081
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- foreman satellite utils 6.15, satellite capsule 6.15, satellite 6.15 3.9.1.6-1.el8sat
- foreman-cli satellite utils 6.15, satellite 6.15 3.9.1.6-1.el8sat
- foreman-ec2 satellite 6.15 3.9.1.6-1.el8sat
- foreman-pcp satellite 6.15 3.9.1.6-1.el8sat
- puppetserver satellite capsule 6.15, satellite 6.15 7.14.0-1.el8sat
- rubygem-puma satellite 6.15 6.4.2-1.el8sat
- foreman-ovirt satellite 6.15 3.9.1.6-1.el8sat
- foreman-redis satellite 6.15 3.9.1.6-1.el8sat
red hat advisories RHSA-2024:2010RHSA-2024:1057RHSA-2024:1878RHSA-2024:1536
- python-aiohttp SLE Module for Public Cloud 15 SP5, SLE Module for Public Cloud 15 SP4, SLE Module for Public Cloud 15 SP3 +3 more 3.6.0-150100.3.15.1
- python-aiohttp SLE Module for Python 3 15 SP5, openSUSE Leap 15.5 3.8.5-150400.10.8.1
suse advisories SUSE-SU-2024:0034-1SUSE-SU-2024:0033-1
- python-aiohttp openSUSE Tumbleweed 3.14.3-1.1
- python-aiohttp openSUSE Tumbleweed 3.9.3-2.1
opensuse advisories openSUSE-SU-2026:11467-1openSUSE-SU-2024:13691-1
- github.com/aio-libs/aiohttp@1e86b77 commit
- github.com/aio-libs/aiohttp#7835 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-49081 updated cvss 5.8
aiohttp: HTTP request modification
-
Red Hat Ansible Automation Platform 1.2 aiohttpaffected: no fix planned “Will not fix”
-
Red Hat Satellite 6 tfm-pulpcore-python-aiohttpaffected: no fix planned “Out of support scope”
-
Red Hat Ansible Automation Platform 2.4 for RHEL 8 python39-aiohttp 3.9.1-1.el8ap, python3x-aiohttp 3.9.1-1.el8ap Red Hat Ansible Automation Platform 2.4 for RHEL 9 python-aiohttp 3.9.1-1.el9ap, python3-aiohttp 3.9.1-1.el9apfixed: vendor fix RHSA-2024:1057
-
Red Hat Satellite 6.14 for RHEL 8 python-aiohttp 3.9.2-0.1.el8pc, python39-aiohttp 3.9.2-0.1.el8pcfixed: vendor fix RHSA-2024:1536
-
Red Hat Satellite 6.15 for RHEL 8 python-aiohttp 3.9.2-1.el8pc, python3.11-aiohttp 3.9.2-1.el8pcfixed: vendor fix RHSA-2024:2010
-
Red Hat RHUI 4 for RHEL 8 python-aiohttp 3.9.2-1.el8ui, python3.11-aiohttp 3.9.2-1.el8uifixed: vendor fix RHSA-2024:1878
-
Red Hat Ansible Automation Platform 2.4 for RHEL 8 ansible-runner 2.3.5-1.el8ap, automation-hub 4.9.1-1.el8ap, ansible-builder 3.0.1-1.el8ap, ansible-dev-tools 2.4-1.el8ap, python39-jinja2 3.1.3-1.el8ap, python3x-jinja2 3.1.3-1.el8ap, +103 more Red Hat Ansible Automation Platform 2.4 for RHEL 9 python-jinja2 3.1.3-1.el9ap, ansible-runner 2.3.5-1.el9ap, automation-hub 4.9.1-1.el9ap, python-boto3 1.18.35-4.el9ap, python-django 4.2.10-1.el9ap, python-grpcio 1.58.0-3.el9ap, +103 more Red Hat Satellite 6.14 for RHEL 8 candlepin 4.3.12-1.el8sat, satellite 6.14.3-1.el8sat, python-django 3.2.22-1.el8pc, python-flake8 5.0.0-0.1.el8pc, python-jinja2 3.1.3-0.1.el8pc, python-mccabe 0.7.0-0.1.el8pc, +27 more Red Hat Satellite 6.15 for RHEL 8 cjson 1.7.14-5.el8sat, libsolv 0.7.22-6.el8pc, katello 4.11.0-1.el8sat, libcomps 0.1.18-8.el8pc, python-jq 1.6.0-3.el8pc, foreman 3.9.1.6-1.el8sat, +677 more Red Hat RHUI 4 for RHEL 8 libsolv 0.7.22-6.el8ui, libcomps 0.1.18-8.el8ui, python-jq 1.6.0-3.el8ui, python-xlrd 2.0.1-8.el8ui, python-xlwt 1.3.0-6.el8ui, python-yarl 1.8.2-4.el8ui, +201 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.88% chance of exploitation in the next 30 days, higher than 59% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/aio-libs/aiohttp/security/advisories/GHSA-q3qx-c6g2-7pw2 referenced PoC, tagged "exploit" by a source, unverified
- gist.github.com https://gist.github.com/jnovikov/184afb593d9c2114d77f508e0ccd508e referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
| GitHub | 3.1 | 7.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | aiohttp | <3.9.0 |
3.9.0 |
Affected products
- aio-libs aiohttp
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
github.com
/aio-libs/aiohttp/pull/7835/files
web
-
github.com
/aio-libs/aiohttp/commit/1e86b777e61cf4eefc7d92fa57fa19dcc676013b
web, patch
-
github.com
/aio-libs/aiohttp/security/advisories/GHSA-q3qx-c6g2-7pw2
web, exploit, vendor-advisory, advisory
-
gist.github.com
/jnovikov/184afb593d9c2114d77f508e0ccd508e
web, exploit, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2025/02/msg00002.html
web
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/WSYWMP64ZFCTC3VO6RY6EC6VSSMV6I3A/
-
nvd.nist.gov
/vuln/detail/CVE-2023-49081
advisory
-
github.com
/aio-libs/aiohttp
package
-
github.com
/pypa/advisory-database/tree/main/vulns/aiohttp/PYSEC-2023-250.yaml
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/TY5SI6NK5243DEEDQUFKQKW5GQNKQUMA
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/WSYWMP64ZFCTC3VO6RY6EC6VSSMV6I3A
web
Sources
- CVE List CVE-2023-49081
- GitHub Advisory GHSA-q3qx-c6g2-7pw2
- NVD CVE-2023-49081
- OSV PYSEC-2023-250
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.