PT-2026-79218 · 9Router · 9Router
CVSS v3.1
8.5
Alta
| Vetor | AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
9router (versões afetadas não especificadas)
Descrição
Existe um problema no endpoint
POST /api/provider-nodes/validate onde a aplicação emite requisições HTTP do lado do servidor para um baseUrl fornecido pelo usuário. O mecanismo de segurança assertPublicUrl em src/shared/utils/ssrfGuard.js falha ao validar destinos adequadamente porque compara apenas strings de hostname, sem realizar resolução de DNS ou revalidação após redirecionamentos. Especificamente, a verificação de endereços IPv6 mapeados para IPv4 é inacessível porque o analisador de URL WHATWG canonicaliza esses literais para hextetos antes que a guarda os processe. Isso permite que endereços mapeados para IPv4 ignorem o filtro e alcancem endereços de loopback ou metadados link-local. Além disso, hostnames com registros A apontando para endereços internos são permitidos. No ramo de incorporação personalizada (custom-embedding), se o status upstream não for 2xx, 401 ou 403, os primeiros 200 bytes do corpo da resposta são retornados ao solicitante, revelando potencialmente informações internas. Outros tipos de validação podem ser usados para varredura cega de portas internas através de diferenças de tempo e status. A apiKey fornecida pelo usuário é encaminhada para o destino interno como um cabeçalho Authorization Bearer. O acesso normalmente requer uma sessão de painel, a menos que requireLogin esteja desativado.Recomendações
No momento, não há informações sobre uma versão mais recente que contenha a correção para esta vulnerabilidade.
Exploit
Incomplete List of Disallowed Inputs
SSRF
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
9Router