Plateforme
python
Composant
gradio
Corrigé dans
4.31.4
4.31.3
Une vulnérabilité d'inclusion de fichier (local file inclusion - LFI) a été découverte dans le composant JSON de gradio-app/gradio, affectant les versions inférieures ou égales à 4.9.1. Cette faille, résultant d'une validation insuffisante des entrées JSON, permet à un attaquant de récupérer des fichiers sensibles. La correction est disponible dans la version 4.31.3, il est donc fortement recommandé de mettre à jour.
Cette vulnérabilité permet à un attaquant local d'exploiter l'endpoint /file=.. pour accéder à des fichiers arbitraires présents sur le système de fichiers. L'attaquant peut ainsi récupérer des données confidentielles telles que des fichiers de configuration, des clés API, ou d'autres informations sensibles stockées sur le serveur. La récupération de ces fichiers peut compromettre la sécurité de l'application et des données associées. L'exploitation réussie de cette vulnérabilité pourrait permettre à un attaquant de compromettre l'intégrité et la confidentialité des données de l'application Gradio.
Cette vulnérabilité a été rendue publique le 6 juin 2024. Il n'y a pas d'indication d'une exploitation active à ce jour, mais la disponibilité d'une preuve de concept (PoC) pourrait changer cette situation. La vulnérabilité n'a pas encore été ajoutée au catalogue KEV de CISA. La probabilité d'exploitation est considérée comme moyenne en raison de la nécessité d'un accès local et de la complexité de l'exploitation.
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
Statut de l'Exploit
EPSS
0.56% (percentile 68%)
CISA SSVC
Vecteur CVSS
La mitigation principale consiste à mettre à jour Gradio vers la version 4.31.3 ou supérieure, qui corrige cette vulnérabilité. En attendant la mise à jour, il est possible de restreindre l'accès à l'endpoint /file=.. via un pare-feu d'application web (WAF) ou un proxy inverse. Il est également recommandé de renforcer la validation des entrées JSON pour s'assurer que les données reçues sont conformes aux attentes. Vérifiez après la mise à jour que l'endpoint /file=.. ne permet plus l'accès à des fichiers arbitraires.
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`.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
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)
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.
Téléverse ton fichier requirements.txt et nous te dirons instantanément si tu es affecté.