{"id":"CVE-2024-27306","aliases":["GHSA-7gpw-8wmc-pm8g","PYSEC-2026-1102"],"title":"aiohttp Cross-site Scripting vulnerability on index pages for static file handling","summary":"aiohttp Cross-site Scripting vulnerability on index pages for static file handling","severity":"medium","cvss":6.1,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","vendor":"aiohttp","product":"aiohttp","ecosystem":"pip","affected":["aiohttp < 3.9.4"],"patched":["aiohttp 3.9.4"],"published":"2024-04-18","updated":"2026-09-10","sourceUpdated":"2026-09-10T03:50:11.218890208Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-7gpw-8wmc-pm8g","references":[{"url":"https://github.com/aio-libs/aiohttp/security/advisories/GHSA-7gpw-8wmc-pm8g"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-27306"},{"url":"https://github.com/aio-libs/aiohttp/pull/8319"},{"url":"https://github.com/aio-libs/aiohttp/pull/8319/files"},{"url":"https://github.com/aio-libs/aiohttp/commit/28335525d1eac015a7e7584137678cbb6ff19397"},{"url":"https://github.com/aio-libs/aiohttp"},{"url":"https://lists.debian.org/debian-lts-announce/2025/02/msg00002.html"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2EXRGTN2WG7VZLUZ7WOXU5GQJKCPPHKP"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NWEI6NIHZ3G7DURDZVMRK7ZEFC2BTD3U"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZIVBMPEY7WWOFMC3CWXFBRQPFECV4SW3"}],"tags":["osv","pip"],"epss":0.00666,"epssPercentile":0.50394,"ingestedAt":"2026-07-08T18:25:47.003Z","slug":"CVE-2024-27306","body":"## Overview\n\n### Summary\n\nA XSS vulnerability exists on index pages for static file handling.\n\n### Details\n\nWhen using `web.static(..., show_index=True)`, the resulting index pages do not escape file names.\n\nIf users can upload files with arbitrary filenames to the static directory, the server is vulnerable to XSS attacks.\n\n### Workaround\n\nWe have always recommended using a reverse proxy server (e.g. nginx) for serving static files. Users following the recommendation are unaffected.\n\nOther users can disable `show_index` if unable to upgrade.\n\n-----\n\nPatch: https://github.com/aio-libs/aiohttp/pull/8319/files\n\n## Affected packages\n\n- `aiohttp < 3.9.4`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `aiohttp 3.9.4`","depth":"sunlit","depthScore":34,"depthScoreParts":{"impact":33.6,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}