CVE-2024-23334CWE-22

aiohttp.web.static(follow_symlinks=True) is vulnerable to directory traversal

Medium · published January 29, 2024

Patch now

High probability of exploitation

CVSS calls it medium at 5.9. It sits in the 99.6th percentile for exploit probability.

CVSS v3.1
5.9
EPSS
77%
Percentile
99.6
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.9 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS v4.0
Not supplied
EPSS
0.76875 · 99.6th percentile
Weakness
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Published
2024-01-29T22:41Z
EPSS history
Timeline
  • 29 JAN 22:41Z
    aiohttp.web.static(follow_symlinks=True) is vulnerable to directory traversal
    cvelistv5