Vulnerability · Published Jun 6, 2024 · Assigned by @huntr_ai

CVE-2024-4941Local File Inclusion in JSON component in gradio-app/gradio

High 7.5

In plain English

A high-severity path traversal in gradio-app/gradio from gradio-app. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.8% (higher than 58% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.0)7.5High
Exploit odds (30 days)0.8%top 42.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

A local file inclusion vulnerability exists in the JSON component of gradio-app/gradio version 4.25. The vulnerability arises from improper input validation in the `postprocess()` function within `gradio/components/json_component.py`, where a user-controlled string is parsed as JSON. If the parsed JSON object contains a `path` key, the specified file is moved to a temporary directory, making it possible to retrieve it later via the `/file=..` endpoint. This issue is due to the `processing_utils.move_files_to_cache()` function traversing any object passed to it, looking for a dictionary with a `path` key, and then copying the specified file to a temporary directory. The vulnerability can be exploited by an attacker to read files on the remote system, posing a significant security risk.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIgradio4.31.3GHSA-6v6g-j5fq-hpvw
PyPIgradio4.31.4PYSEC-2024-184

Affected products (as reported)

VendorProductVersions
gradio-app gradio-app/gradio unspecified – before 4.31.4

Weakness: CWE-22 · Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

References