Skip to content
Fencer Vulns
medium 4.8

CVE-2024-42367 json

In aiohttp, compressed files as symlinks are not protected from path traversal

published 2024-08-09 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-2609 , GHSA-jwhx-xcg6-8xhj , PYSEC-2026-1108

cvss
4.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.7%
EPSS 0.7% chance of exploitation in 30 days, percentile 51%
public exploits
0
none known

Summary

aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. In versions on the 3.10 branch prior to version 3.10.2, static routes which contain files with compressed variants (`.gz` or `.br` extension) are vulnerable to path traversal outside the root directory if those variants are symbolic links. The server protects static routes from path traversal outside the root directory when `follow_symlinks=False` (default). It does this by resolving the requested URL to an absolute path and then checking that path relative to the root. However, these checks are not performed when looking for compressed variants in the `FileResponse` class, and symbolic links are then automatically followed when performing the `Path.stat()` and `Path.open()` to send the file. Version 3.10.2 contains a patch for the issue.

Patch / fix

  • pypi aiohttp 3.10.2
  • aiohttp aiohttp 3.10.2
  • python-aiohttp Debian 14, Debian 13 3.10.3-2

debian advisories DEBIAN-CVE-2024-42367

  • python-aiohttp SLE Module for Python 3 15 SP6, SLE Module for Python 3 15 SP5, SLE Module for Public Cloud 15 SP4 +2 more 3.9.3-150400.10.24.1

suse advisories SUSE-SU-2024:3110-1

  • python-aiohttp openSUSE Tumbleweed 3.14.3-1.1
  • python-aiohttp openSUSE Tumbleweed 3.10.5-1.1

opensuse advisories openSUSE-SU-2026:11467-1openSUSE-SU-2024:14280-1

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-42367 updated cvss 4.8

aiohttp: python-aiohttp: Compressed files as symlinks are not protected from path traversal

  • Red Hat OpenShift Lightspeed lightspeed-service-api-rhel9 Red Hat Ansible Automation Platform 1.2 ansible-tower Red Hat Ansible Automation Platform 2 python-aiohttp, automation-controller, ansible-automation-platform-25/lightspeed-rhel8, ansible-automation-platform-24/ee-dellemc-openmanage-rhel8, ansible-automation-platform-24/platform-resource-runner-rhel8 Red Hat Satellite 6 python-aiohttp, python3-aiohttp Red Hat Update Infrastructure 4 for Cloud Providers python-aiohttp
    under investigation

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
no
Technical impact
partial
Assessed
2 y ago

Exploit prediction

0.65% chance of exploitation in the next 30 days, higher than 51% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
GitHub 3.1 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
NVD 3.1 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
OSV 3.1 4.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

Affected packages

ecosystem package affected fixed in
pypi aiohttp
>=3.10.0b1, <3.10.2
3.10.2

Affected products

  • aio-libs aiohttp

Classification

Weakness
  • CWE-61 UNIX Symbolic Link (Symlink) Following

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.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.