cbcvebase.
CVE-2024-23334
published 2024-01-29

CVE-2024-23334: 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…

PriorityP190high7.5CVSS 3.1
AVNACLPRNUINSUCHINAN
ITWEXPLOITVulnCheck KEVRansomwareInitial access
Exploited in the wild
EPSS
76.88%
99.5th percentile
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.

Affected

5 ranges
VendorProductVersion rangeFixed in
aio-libsaiohttp< 3.9.23.9.2
aiohttpaiohttp>= 1.0.5 < 3.9.23.9.2
aiohttpaiohttp>= 1.0.5 < 3.9.23.9.2
debianpython-aiohttp< python-aiohttp 3.8.4-1+deb12u1 (bookworm)python-aiohttp 3.8.4-1+deb12u1 (bookworm)
fedoraprojectfedora

Detection & IOCsextracted from sources · hover to see the quote

url/static/../../../../etc/passwd
uapoc-aiohttp-check/1.0
yara
Nuclei template: GET /static/../../../../etc/passwd matching body regex root:.*:0:0: and header words aiohttp / application/octet-stream, status 200
  • Responses from a vulnerable aiohttp server serving traversed files will include the 'aiohttp' header and 'application/octet-stream' content-type. Correlate these response headers with path-traversal request patterns.
  • Exploitation requires 'follow_symlinks=True' to be set on static routes. Audit aiohttp server configurations for this non-default setting as a precondition indicator.
  • Active exploitation scanning for CVE-2024-23334 was observed starting February 29, 2024, with increased activity into March 2024. Prioritize detection of traversal attempts against /static/ endpoints during this window.
  • The PoC exploit uses a default traversal depth of 8 (eight '../' segments). Detection rules should match at least 4–8 consecutive '../' sequences in URL paths targeting /static/.
  • ·The vulnerability is only exploitable when 'follow_symlinks=True' is explicitly set on aiohttp static routes — this is a non-default configuration. Servers without this setting are not affected.
  • ·The 'follow_symlinks' option is NOT needed to follow symlinks pointing within the static root directory; it is only intended to allow a symlink to break out of the static directory. Disabling it does not break normal in-root symlink resolution.
  • ·Using a reverse proxy (e.g., nginx) to serve static files instead of aiohttp is a recommended mitigation and is why the number of affected production users is expected to be low.

CVSS provenance

nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
osv7.5HIGH
vulncheck5.9MEDIUM
vendor_debian5.9MEDIUM
vendor_redhat5.9MEDIUM
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.