7.5

CVE-2024-23334: aiohttp.web.static(follow_symlinks=True) is vulnerable to directory traversal

Modified
AliasesGHSA-5h86-8mv2-jq9fPYSEC-2024-24UBUNTU-CVE-2024-23334
Published 29-01-2024Last modified 04-02-2026

Vulnerability summary

CVE-2024-23334 is a high (CVSS 7.5) vulnerability in aio-libs aiohttp. EPSS estimates a 76.88% chance of exploitation in the next 30 days, higher than 99.5% of scored vulnerabilities. 2 public exploits are recorded.

Priority
Routine

Not severe (CVSS 5.9, network access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
7.5/10
010
High · v3.1 (NVD)
EPSS score
76.88%
0%100%
Critical · 0.00 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits2github, exploit-database

Advisory lineage

Upstream 0 · Downstream 9 · Related 5

Timeline

  1. 29-01-2024
    PublishedVulnerability first disclosed.
  2. 04-02-2026
    Last modifiedVulnerability information updated.

Description

aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. When using aiohttp as a web server and configuring static routes, it is necessary to specify the root path for static files. Additionally, the option 'follow_symlinks' can be used to determine whether to follow symbolic links outside the static root directory. When 'follow_symlinks' is set to True, there is no validation to check if reading a file is within the root directory. This can lead to directory traversal vulnerabilities, resulting in unauthorized access to arbitrary files on the system, even when symlinks are not present. Disabling follow_symlinks and using a reverse proxy are encouraged mitigations. Version 3.9.2 fixes this issue.

CVSS metrics

8 scores · 8 sources · 1 version

EPSS trend

Probability

76.88%

Chance of exploitation in the next 30 days

Percentile

100%

Versus all other CVEs

30-day change

No change 0.00 pp

From 76.88% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

2 found
  • githubUnverified

    Aiohttp

    Maturity: poc

  • exploit-databasepythonUnverified

    aiohttp 3.9.1 - directory traversal PoC

    Maturity: poc

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: network-reachable, no authentication, no user interaction (CVSS vector). Other conditions: not stated in public data.

Chainguard5 products
  • checkov< 3.0.34-r1
  • py3-aiohttp< 3.9.3-r0
  • py3-cassandra-medusa< 0.17.2-r1
  • py3-cassandra-medusa-compat< 0.17.2-r1
  • py3.13-scanner-test-libraries-aiohttp< 0.0.1-r1
Wolfi4 products
  • checkov< 3.0.34-r1
  • py3-aiohttp< 3.9.3-r0
  • py3-cassandra-medusa< 0.17.2-r1
  • py3-cassandra-medusa-compat< 0.17.2-r1
Aio-libs1 product
Aiohttp1 product
Alpine1 product
  • py3-aiohttp< 3.9.3-r0
Debian1 product
  • python-aiohttp< 3.8.4-1+deb12u1 | < 3.9.5-1
Fedoraproject1 product
Opensuse1 product
  • python-aiohttp&distro=openSUSE Tumbleweed< 3.9.3-1.1
PyPI1 product
  • aiohttp< 1c335944d6a8b1298baf179b7c0b3069f10c514b | ≥ 1.0.5, < 3.9.2
Ubuntu1 product
  • python-aiohttpAll versions (No fix recorded) | < 3.0.1-1ubuntu0.1~esm4 | < 3.6.2-1ubuntu1+esm3 | < 3.8.1-4ubuntu0.2 | < 3.9.1-1ubuntu0.1

10 vendors · 17 products

References

20 links
Show all 20 references