CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Dashboard
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-69226
6.3

AIOHTTP Side-Channel: When 403 Means 'I See You'

Amit Schendel
Amit Schendel
Senior Security Researcher

Jan 6, 2026·6 min read·14 visits

PoC Available

Executive Summary (TL;DR)

AIOHTTP versions prior to 3.13.3 contain a side-channel vulnerability in `web.static()`. The framework checked path prefixes before normalizing them, creating an oracle where attackers can distinguish between existing and non-existing files on the host system. If you get a 403, the file exists; if you get a 404, it doesn't. Upgrade to 3.13.3 immediately.

A logic flaw in AIOHTTP's static file serving mechanism allows attackers to map the server's internal filesystem. By exploiting differences in error codes (403 vs 404) during path normalization, adversaries can enumerate sensitive files outside the web root.

Official Patches

aio-libsGitHub Commit f2a86fd
aio-libsRelease Notes 3.13.3

Fix Analysis (1)

Technical Appendix

CVSS Score
6.3/ 10
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Affected Systems

Python applications using aiohttp <= 3.13.2Systems exposing `web.static()` routes to the public internet

Affected Versions Detail

Product
Affected Versions
Fixed Version
aiohttp
aio-libs
<= 3.13.23.13.3
AttributeDetail
CWE IDCWE-22 (Path Traversal)
CWE IDCWE-200 (Information Exposure)
Attack VectorNetwork (CVSS: AV:N)
CVSS v4.06.3 (Medium)
ImpactInformation Disclosure (Filesystem Enumeration)
Exploit StatusPoC Available / Functional Exploit
Patch StatusFixed in 3.13.3

MITRE ATT&CK Mapping

T1592Gather Victim Host Information
Reconnaissance
T1083File and Directory Discovery
Discovery
CWE-22
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

The software uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as '..' that can resolve to a location that is outside of that directory.

Known Exploits & Detection

Researcher AnalysisPath traversal via normalization logic in web_urldispatcher.py allows enumeration of existing files via 403/404 oracle.

Vulnerability Timeline

Vulnerability Disclosed
2026-01-05
Patch Released (v3.13.3)
2026-01-05

References & Sources

  • [1]GHSA-54jq-c3m8-4m76
  • [2]CVE-2025-69226 Detail
Related Vulnerabilities
CVE-2025-69223CVE-2025-69224CVE-2025-69225CVE-2025-69230

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.