aiohttp.web.static(follow_symlinks=True) is vulnerable to directory traversal
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Partial Red Hat: 5 fixed, 1 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-22 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| aio-libs | aiohttp | before 3.9.2 | 3.9.2 | Patch available | CNA |
| — | aiohttp (PyPI) | 1.0.5 to before 3.9.2 | 3.9.2 | Patch available | GHSA-5h86-8mv2-jq9f |
- aiohttp Vendoraio-libs Affected before 3.9.2 Fixed in 3.9.2 Patch available CNA
- aiohttp (PyPI) Vendor— Affected 1.0.5 to before 3.9.2 Fixed in 3.9.2 Patch available GHSA-5h86-8mv2-jq9f
CPE configurations NVD · 2
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:aiohttp:aiohttp:*:*:*:*:*:*:*:* | 1.0.5 to before 3.9.2 | Vulnerable | Aiohttp |
| cpe:2.3:o:fedoraproject:fedora:39:*:*:*:*:*:*:* | 39 | Vulnerable | Fedoraproject |
- cpe:2.3:a:aiohttp:aiohttp:*:*:*:*:*:*:*:* Versions 1.0.5 to before 3.9.2 Vulnerable ·Aiohttp
- cpe:2.3:o:fedoraproject:fedora:39:*:*:*:*:*:*:* Versions 39 Vulnerable ·Fedoraproject
Remediation
- Fix · CNA aiohttp (aio-libs) Fixed in 3.9.2
- Fix · GHSA-5h86-8mv2-jq9f aiohttp (PyPI) Fixed in 3.9.2 Advisory →
Red Hat 4 advisories
- RHSA-2024:2010 Released 2024-04-23 · Red Hat rating ImportantSatellite 6.15.0 release
- Red Hat Satellite 6.15 for RHEL 8 foreman-3.9.1.6-1.el8sat, foreman-cli-3.9.1.6-1.el8sat, foreman-debug-3.9.1.6-1.el8sat +28
- RHSA-2024:1878 Released 2024-04-18 · Red Hat rating ModerateRHUI 4.8 Release - Security Updates, Bug Fixes, and Enhancements
- RHUI 4 for RHEL 8 python-aiohttp-3.9.2-1.el8ui, python-cryptography-41.0.6-1.el8ui, python-django-4.2.11-1.el8ui +7
- RHSA-2024:1640 Released 2024-04-02 · Red Hat rating ModerateRed Hat Ansible Automation Platform 2.4 Product Security and Bug Fix Update
- Red Hat Ansible Automation Platform 2.4 for RHEL 8 automation-controller-venv-tower-4.5.5-2.el8ap, python39-aiohttp-3.9.3-1.el8ap, python39-django-4.2.11-1.el8ap +4
- Red Hat Ansible Automation Platform 2.4 for RHEL 9 automation-controller-venv-tower-4.5.5-2.el9ap, python-aiohttp-3.9.3-1.el9ap, python-django-4.2.11-1.el9ap +4
Show 1 more Red Hat advisories
- RHSA-2024:1536 Released 2024-03-27 · Red Hat rating ModerateSatellite 6.14.3 Async Security Update
- Red Hat Satellite 6.14 for RHEL 8 python-aiohttp-3.9.2-0.1.el8pc, python-django-3.2.22-1.el8pc, python-galaxy-importer-0.4.18-2.el8pc +5
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Ansible Automation Platform 1.2 | Affected | No fix planned: Out of support scope |
| RHUI 4 for RHEL 8 | Fixed | RHSA-2024:1878 |
| Red Hat Ansible Automation Platform 2.4 for RHEL 8 | Fixed | RHSA-2024:1640 |
| Red Hat Ansible Automation Platform 2.4 for RHEL 9 | Fixed | RHSA-2024:1640 |
| Red Hat Satellite 6.14 for RHEL 8 | Fixed | RHSA-2024:1536 |
| Red Hat Satellite 6.15 for RHEL 8 | Fixed | RHSA-2024:2010 |
Not affected: 6 products
- RHUI 4 for RHEL 8
- Red Hat Ansible Automation Platform 2
- Red Hat Ansible Automation Platform 2.4 for RHEL 8
- Red Hat Ansible Automation Platform 2.4 for RHEL 9
- Red Hat Satellite 6.14 for RHEL 8
- Red Hat Satellite 6.15 for RHEL 8
Timeline
- 2026-10-02 Threatist record created from CVE-2024-23334
- 2026-10-03 Alias added: GHSA-5h86-8mv2-jq9f
References
Patch 2
Other 9
- https://lists.fedoraproject.org/archives/list/[email protected]/message/XXWVZIVAYWEBHNRIILZVB3R3SDQNNAA7/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/ICUOCFGTB25WUT336BZ4UNYLSZOUVKBD/
- https://github.com/aio-libs/aiohttp/pull/8079/files
- https://github.com/aio-libs/aiohttp
- https://github.com/pypa/advisory-database/tree/main/vulns/aiohttp/PYSEC-2024-24.yaml
- https://lists.debian.org/debian-lts-announce/2025/02/msg00002.html
- https://lists.fedoraproject.org/archives/list/[email protected]/message/ICUOCFGTB25WUT336BZ4UNYLSZOUVKBD
- https://lists.fedoraproject.org/archives/list/[email protected]/message/XXWVZIVAYWEBHNRIILZVB3R3SDQNNAA7
- https://www.exploit-db.com/exploits/52474
More aio-libs vulnerabilities
- TI-2025-38826 aiomysql allows arbitrary access to client files through vulnerability of a malicious MySQL server CVSS 4.0HIGH 8.2
- TI-2023-25769 Request smuggling in aiohttp CVSS 3.1HIGH 7.5
- TI-2023-18906 aiohttp vulnerable to HTTP request smuggling CVSS 3.1HIGH 7.5
- TI-2023-26746 aiohttp's ClientSession is vulnerable to CRLF injection via version CVSS 3.1HIGH 7.2
- TI-2026-66145 Multidict: Reference leak in CIMultiDict/MultiDict items-view union and subtraction CVSS 3.1MEDIUM 5.3
- TI-2023-26747 aiohttp's ClientSession is vulnerable to CRLF injection via method CVSS 3.1MEDIUM 5.3
Sources
- CVE-2024-23334 · CVE Program
- CVE-2024-23334 · NVD
- FIRST EPSS
- GHSA-5h86-8mv2-jq9f · GitHub Advisory Database · CC BY 4.0
- CVE-2024-23334 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences