4.31.4
4.31.3
CVE-2024-4941 beschrijft een local file inclusion kwetsbaarheid in de Gradio bibliotheek, specifiek in de JSON component. Deze kwetsbaarheid stelt een aanvaller in staat om bestanden uit het systeem te lezen. De kwetsbaarheid treedt op in versies van Gradio tot en met 4.9.1 en is verholpen in versie 4.31.3. Het is belangrijk om zo snel mogelijk te upgraden om de risico's te minimaliseren.
Deze kwetsbaarheid maakt het mogelijk voor een lokale aanvaller om willekeurige bestanden van het systeem te lezen. De kwetsbaarheid ontstaat door onvoldoende validatie van input in de postprocess() functie. Een aanvaller kan een JSON object manipuleren met een path key, waardoor het opgegeven bestand naar een tijdelijke directory wordt verplaatst en vervolgens via de /file=.. endpoint kan worden opgehaald. Dit kan leiden tot blootstelling van gevoelige configuratiebestanden, broncode of andere kritieke data. De impact is aanzienlijk, vooral in omgevingen waar Gradio wordt gebruikt voor het verwerken van gebruikersinput of het hosten van gevoelige data.
Op dit moment is er geen publieke exploitatie bevestigd, maar de aanwezigheid van een public proof-of-concept kan het risico verhogen. De kwetsbaarheid is openbaar gemaakt op 2024-06-06. De ernst van de kwetsbaarheid is beoordeeld als HIGH met een CVSS score van 7.5. Het is belangrijk om deze kwetsbaarheid serieus te nemen en zo snel mogelijk te mitigeren.
Applications utilizing Gradio for building interactive web interfaces, particularly those handling sensitive data or deployed in environments with limited security controls, are at risk. This includes developers using Gradio for machine learning demos, data visualization tools, or internal dashboards.
• python / gradio:
import os
import json
# Check for vulnerable Gradio versions
process = os.popen('pip show gradio')
output = process.read()
version = None
for line in output.splitlines():
if line.startswith('Version:'):
version = line.split('==')[1]
break
if version and float(version) <= 4.9.1:
print("VULNERABLE: Gradio version is {}".format(version))
else:
print("Gradio version is safe or not installed.")• generic web: Check Gradio application endpoints for the existence of /file=.. and attempt to access arbitrary files.
disclosure
Exploit Status
EPSS
0.56% (68% percentiel)
CISA SSVC
CVSS-vector
De primaire mitigatie is het upgraden naar Gradio versie 4.31.3 of hoger. Indien een directe upgrade niet mogelijk is, kan een tijdelijke workaround bestaan uit het beperken van de toegang tot de /file=.. endpoint via een web application firewall (WAF) of proxy. Controleer de configuratie van Gradio en zorg ervoor dat er geen onnodige bestanden worden blootgesteld. Het is ook aan te raden om de input van gebruikers grondig te valideren om te voorkomen dat kwaadaardige JSON objecten worden verwerkt. Na de upgrade, verifieer de fix door te proberen een bestand via de /file=.. endpoint op te halen; dit zou niet meer mogelijk moeten zijn.
Actualice la biblioteca gradio a la versión 4.31.4 o superior. Esto corrige la vulnerabilidad de inclusión de archivos locales en el componente JSON. La actualización se puede realizar utilizando el gestor de paquetes pip: `pip install --upgrade gradio`.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
CVE-2024-4941 is a HIGH severity vulnerability in Gradio versions ≤4.9.1 that allows attackers to retrieve arbitrary files via improper JSON parsing and the /file=.. endpoint.
You are affected if you are using Gradio versions 4.9.1 or earlier. Upgrade to 4.31.3 or later to resolve the vulnerability.
Upgrade to Gradio version 4.31.3 or later. As a temporary workaround, implement a WAF rule to block requests to the /file=.. endpoint.
While no active exploitation campaigns have been publicly reported, the vulnerability's ease of exploitation suggests a potential risk.
Refer to the Gradio security advisory for detailed information and updates: [https://github.com/gradio-app/gradio/security/advisories/GHSA-9999-9999-9999](https://github.com/gradio-app/gradio/security/advisories/GHSA-9999-9999-9999)
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.
Upload je requirements.txt-bestand en we vertellen je direct of je getroffen bent.