
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-69226 is an information disclosure vulnerability in AIOHTTP, an asynchronous HTTP client/server framework for asyncio and Python, titled "Brute-force leak of internal static file path components." It affects all versions up to and including 3.13.2, and was disclosed on January 5, 2026, with a fix released in version 3.13.3. The vulnerability arises in the path normalization logic for static file serving, allowing unauthenticated attackers to infer the existence of absolute path components on the server. It carries a CVSS v3.1 base score of 5.3 (Medium) and a CVSS v4.0 base score of 2.7 (Low) (GitHub Advisory, Red Hat Bugzilla).
The root cause is classified under CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) and CWE-202 (Exposure of Sensitive Information Through Data Queries). The vulnerability exists in the resolve() method of StaticResource in aiohttp/web_urldispatcher.py, where path normalization logic designed to prevent path traversal inadvertently reveals whether absolute path components exist on the server by returning different HTTP responses (403 vs. 404) for valid versus invalid paths. An attacker can craft requests such as /static/../../../../some/absolute/path and observe the server's response to brute-force the existence of filesystem directories or files. Exploitation requires that the application uses web.static() for static file serving, which is explicitly not recommended for production use (GitHub Advisory, Patch Commit).
Successful exploitation allows an unauthenticated remote attacker to enumerate the existence of absolute path components on the server's filesystem, constituting a low-severity information disclosure. There is no impact on integrity or availability, and the confidentiality impact is limited to leaking structural filesystem information (e.g., whether specific directories or files exist) rather than exposing file contents. This information could assist an attacker in reconnaissance for further attacks, such as identifying configuration file locations or application structure (GitHub Advisory, Red Hat Bugzilla).
No public exploit code or active in-the-wild exploitation has been reported for CVE-2025-69226. The EPSS score is approximately 0.063% (21st percentile), indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires the target application to use web.static(), which is not recommended for production deployments, further limiting the attack surface (GitHub Advisory).
web.static() enabled for static file serving.GET /static/../../../../etc/passwd./static/) containing ../ or ..\ sequences traversing outside the static root; requests with absolute path components embedded in the URL (e.g., /static/../../../../etc/ or /static/C:\Windows\).The primary remediation is to upgrade AIOHTTP to version 3.13.3 or later, which rejects static URLs that traverse outside the static root by applying os.path.normpath() during URL resolution and returning 404 instead of 403 for out-of-bounds paths (Patch Commit, GitHub Advisory). As a workaround, avoid using web.static() in production environments — the aiohttp documentation explicitly recommends using a dedicated web server (e.g., nginx) for static file serving instead. IBM has also released patches for affected products including watsonx Orchestrate Developer Edition, Guardium Data Security Center, and Observability with Instana (IBM watsonx Advisory, IBM Guardium Advisory).
The vulnerability was reported by security researcher ThomasRinsma and remediated by Dreamsorcerer and bdraco from the aiohttp maintainer team (GitHub Advisory). Security Online Info covered the release of aiohttp 3.13.3 as part of a broader patch addressing seven vulnerabilities including higher-severity DoS risks. The vulnerability received routine coverage from Linux distribution security channels (SUSE, Ubuntu, Debian, openSUSE) and was tracked by Red Hat's Product Security team, reflecting standard industry response for a low-severity library vulnerability.
Fix availability across major Linux distributions and their releases.
bookworm
python-aiohttp
sid
python-aiohttp: 3.13.3-1
trixie
python-aiohttp: 3.11.16-1+deb13u1
bionic (esm-apps)
python-aiohttp: 3.0.1-1ubuntu0.1~esm6
devel
python-aiohttp
focal (esm-apps)
python-aiohttp: 3.6.2-1ubuntu1+esm5
jammy
python-aiohttp
jammy (esm-apps)
python-aiohttp: 3.8.1-4ubuntu0.2+esm2
noble
python-aiohttp
noble (esm-apps)
python-aiohttp: 3.9.1-1ubuntu0.1+esm2
questing
python-aiohttp: 3.11.16-1ubuntu0.1
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."