Skip to content
Fencer Vulns
medium 6.5

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

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-tower
    affected: 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.el9ap
    fixed: 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.el8pc
    fixed: 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.el8pc
    fixed: 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.el8ui
    fixed: 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 more
    not 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

Sources

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.