CVE-2024-23829 json
aiohttp's HTTP parser (the python one, not llhttp) still overly lenient about separators
published 2024-01-29 2 y ago modified 2026-09-10 1 mo ago also GHSA-8qpw-xqxj-h4r2 , PYSEC-2024-26 , EUVD-2024-0002
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 63%
- public exploits
- 0
- none known
Summary
aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. Security-sensitive parts of the Python HTTP parser retained minor differences in allowable character sets, that must trigger error handling to robustly match frame boundaries of proxies in order to protect against injection of additional requests. Additionally, validation could trigger exceptions that were not handled consistently with processing of other malformed input. Being more lenient than internet standards require could, depending on deployment environment, assist in request smuggling. The unhandled exception could cause excessive resource consumption on the application server and/or its logging facilities. This vulnerability exists due to an incomplete fix for CVE-2023-47627. Version 3.9.2 fixes this vulnerability.
Patch / fix
- pypi aiohttp 3.9.2
- aiohttp aiohttp 3.9.2
- python-aiohttp Debian 14, Debian 13 3.9.5-1
debian advisories DEBIAN-CVE-2024-23829
- python-aiohttp Ubuntu Pro 22.04 LTS 3.8.1-4ubuntu0.2+esm1
- python-aiohttp Ubuntu Pro 24.04 LTS 3.9.1-1ubuntu0.1+esm1
ubuntu advisories UBUNTU-CVE-2024-23829
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:1640RHSA-2024:1878RHSA-2024:1536
- python-aiohttp SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Module for Python 3 15 SP5 +3 more 3.9.3-150400.10.14.1
suse advisories SUSE-SU-2024:0577-1
- py3-aiohttp Alpine 3.24, Alpine 3.23, Alpine 3.22 +2 more 3.9.3-r0
alpine advisories ALPINE-CVE-2024-23829
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/aio-libs/aiohttp@33ccdfb commit
- github.com/aio-libs/aiohttp#8074 pull request
- github.com/aio-libs/aiohttp#3235 pull request
- github.com/aio-libs/aiohttp#8074 pull request
- github.com/aio-libs/aiohttp/security/advisories/GHSA-8qpw-xqxj-h4r2 advisory
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-2024-23829 updated cvss 6.5
python-aiohttp: http request smuggling
-
Red Hat Ansible Automation Platform 1.2 ansible-toweraffected: no fix planned “Out of support scope”
-
Red Hat Ansible Automation Platform 2.4 for RHEL 8 python39-aiohttp 3.9.3-1.el8ap, python3x-aiohttp 3.9.3-1.el8ap, automation-controller-venv-tower 4.5.5-2.el8ap Red Hat Ansible Automation Platform 2.4 for RHEL 9 python-aiohttp 3.9.3-1.el9ap, python3-aiohttp 3.9.3-1.el9ap, automation-controller-venv-tower 4.5.5-2.el9apfixed: vendor fix RHSA-2024:1640
-
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 ansible-automation-platform-25/ee-minimal-rhel8, ansible-automation-platform-24/ee-supported-rhel9, ansible-automation-platform-24/ansible-builder-rhel9, ansible-automation-platform-25/ee-cloud-services-rhel9, ansible-automation-platform-24/ee-dellemc-openmanage-rhel8, ansible-automation-platform-24/platform-resource-runner-rhel8 Red Hat Ansible Automation Platform 2.4 for RHEL 8 receptor 1.4.5-1.el8ap, receptorctl 1.4.5-1.el8ap, ansible-core 2.15.10-1.el8ap, ansible-runner 2.3.6-1.el8ap, ansible-test 2.15.10-1.el8ap, python39-django 4.2.11-1.el8ap, +8 more Red Hat Ansible Automation Platform 2.4 for RHEL 9 receptor 1.4.5-1.el9ap, receptorctl 1.4.5-1.el9ap, ansible-core 2.15.10-1.el9ap, ansible-runner 2.3.6-1.el9ap, ansible-test 2.15.10-1.el9ap, python-django 4.2.11-1.el9ap, +8 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
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
1.03% chance of exploitation in the next 30 days, higher than 63% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/aio-libs/aiohttp/security/advisories/GHSA-8qpw-xqxj-h4r2 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L |
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L |
| OSV | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | aiohttp | <3.9.2 |
3.9.2 |
Affected products
- aio-libs aiohttp
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/aio-libs/aiohttp/pull/8074
web, patch
-
github.com
/aio-libs/aiohttp/commit/33ccdfb0a12690af5bb49bda2319ec0907fa7827
web, patch
-
github.com
/aio-libs/aiohttp/security/advisories/GHSA-8qpw-xqxj-h4r2
web, exploit, patch, vendor-advisory, advisory
-
github.com
/aio-libs/aiohttp/pull/3235
web
-
github.com
/aio-libs/aiohttp/pull/8074/files
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/XXWVZIVAYWEBHNRIILZVB3R3SDQNNAA7/
mailing-list, article
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/ICUOCFGTB25WUT336BZ4UNYLSZOUVKBD/
-
lists.debian.org
/debian-lts-announce/2025/02/msg00002.html
web
-
github.com
/aio-libs/aiohttp/security/advisories/GHSA-gfw2-4jvh-wgfg
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-23829
advisory
-
github.com
/aio-libs/aiohttp
package
-
github.com
/pypa/advisory-database/tree/main/vulns/aiohttp/PYSEC-2024-26.yaml
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/ICUOCFGTB25WUT336BZ4UNYLSZOUVKBD
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/XXWVZIVAYWEBHNRIILZVB3R3SDQNNAA7
web
Sources
- CVE List CVE-2024-23829
- GitHub Advisory GHSA-8qpw-xqxj-h4r2
- NVD CVE-2024-23829
- OSV PYSEC-2024-26
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.