CVE-2025-69226: AIOHTTP allows for a brute-force leak of internal static filepath components
Summary Path normalization for static files prevents path traversal, but opens up the ability for an attacker to ascertain the existence of absolute path components.
Impact If an application uses web.static() (not recommended for production deployments), it may be possible for an attacker to ascertain the existence of path components.
------
Patch: https://github.com/aio-libs/aiohttp/commit/f2a86fd5ac0383000d1715afddfa704413f0711e
Other sources
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Versions 3.13.2 and below enable an attacker to ascertain the existence of absolute path components through the path normalization logic for static files meant to prevent path traversal. If an application uses web.static() (not recommended for production deployments), it may be possible for an attacker to ascertain the existence of path components. This issue is fixed in version 3.13.3.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2025-69226?
CVE-2025-69226 is considered a moderate severity vulnerability due to its potential to expose sensitive information.
How do I fix CVE-2025-69226?
To fix CVE-2025-69226, upgrade the aiohttp package to version 3.13.3 or later.
What does CVE-2025-69226 affect?
CVE-2025-69226 affects aiohttp versions up to 3.13.2 when using the web.static() method.
What type of vulnerability is CVE-2025-69226?
CVE-2025-69226 is a path traversal vulnerability that can lead to information disclosure.
Can CVE-2025-69226 be exploited easily?
While CVE-2025-69226 requires specific conditions related to the use of web.static(), it can be exploited by attackers familiar with the application structure.