Plataforma
python
Componente
pyload-ng
Corrigido em
0.5.1
0.5.1
Uma vulnerabilidade de Server-Side Request Forgery (SSRF) foi descoberta no pyload-ng, afetando versões até 0.5.0b3.dev96. A correção implementada para CVE-2026-33992 continha uma falha, pois a validação de hostname não era aplicada a redirecionamentos HTTP, permitindo que usuários autenticados contornassem o filtro SSRF. Essa vulnerabilidade pode ser explorada para acessar recursos internos.
A vulnerabilidade CVE-2026-35459 no pyload permite que um usuário autenticado com permissões de ADD contorne a mitigação de SSRF (Server-Side Request Forgery) implementada para corrigir CVE-2026-33992. A correção anterior introduziu a validação de IP em BaseDownloader.download() para verificar o hostname da URL de download inicial. No entanto, o pycurl está configurado com FOLLOWLOCATION=1 e MAXREDIRS=10, o que permite que ele siga automaticamente redirecionamentos HTTP. O problema reside no fato de que as URLs de destino desses redirecionamentos não são validadas contra o filtro SSRF, permitindo o acesso a recursos internos.
Um atacante autenticado com permissões de ADD pode explorar esta vulnerabilidade fornecendo uma URL inicial que redireciona para um endereço interno. A configuração FOLLOWLOCATION do pycurl fará com que o download siga este redirecionamento, evitando a validação de IP original. Isso permite que o atacante acesse recursos internos que normalmente estariam protegidos pelo filtro SSRF. A autenticação necessária limita o impacto a usuários com permissões de ADD dentro do sistema.
Organizations using pyload-ng for download management, particularly those with internal services accessible from the network, are at risk. Shared hosting environments where multiple users have ADD permissions within pyload-ng are especially vulnerable, as a compromised user account could be leveraged to exploit this SSRF vulnerability.
• python / server:
import requests
import urllib.parse
def check_redirects(url):
try:
response = requests.get(url, allow_redirects=True, timeout=5)
print(f"Final URL: {response.url}")
return True # Redirects followed
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return False
# Example usage (replace with pyload-ng specific URLs)
url_to_check = "http://example.com/redirect?url=http://127.0.0.1:8000/internal/resource"
check_redirects(url_to_check)• generic web:
curl -I 'http://your-pyload-ng-instance/your-endpoint?url=http://internal-ip/sensitive-resource' | grep 'Location:'disclosure
Status do Exploit
EPSS
0.03% (percentil 10%)
Atualmente, não existe uma correção (fix) oficial para CVE-2026-35459. A mitigação recomendada é desabilitar os redirecionamentos HTTP na configuração do pycurl, definindo FOLLOWLOCATION=0. Alternativamente, pode-se implementar uma validação adicional da URL de destino dos redirecionamentos dentro da função BaseDownloader.download() para garantir que ela corresponda ao domínio esperado. É crucial aplicar esta mitigação o mais rápido possível para reduzir o risco de exploração. Recomenda-se monitorar as atualizações de segurança do pyload para obter uma solução oficial.
Actualice pyLoad a una versión corregida. La vulnerabilidad se debe a una falta de validación adecuada de las redirecciones HTTP después de una corrección previa. Verifique la documentación oficial de pyload para obtener instrucciones específicas de actualización y asegúrese de que el entorno esté actualizado.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
SSRF (Server-Side Request Forgery) é uma vulnerabilidade que permite a um atacante fazer com que o servidor realize solicitações a recursos que não deveriam ser acessíveis externamente.
As permissões de ADD referem-se à capacidade de um usuário de adicionar ou criar novos itens dentro do sistema pyload.
Se você estiver usando uma versão do pyload que contém a correção para CVE-2026-33992 e o pycurl estiver configurado com FOLLOWLOCATION=1, é provável que você seja vulnerável a CVE-2026-35459.
Sim, você pode implementar uma validação adicional da URL de destino dos redirecionamentos dentro da função BaseDownloader.download(). Isso é mais complexo, mas permite manter a funcionalidade de redirecionamento com maior segurança.
Não há uma data estimada para uma solução oficial. Recomenda-se monitorar as atualizações de segurança do pyload.
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.