CVE-2026-80347 in mcp-fetch
Sumário
de VulDB • 26/08/2026
O mcp-fetch verifica o alvo da requisição contra seu mecanismo de proteção contra SSRF sem remover os colchetes que envolvem um literal IPv6. A função isSafeUrl lê o hostname a partir do URL analisado, que para um literal como http://[::1]/ retorna a string entre colchetes, e então testa esse valor com net.isIP. Essa chamada retorna zero para valores entre colchetes, fazendo com que o bloco de código responsável pelas verificações de endereços privados seja totalmente ignorado. O mecanismo de proteção recua para resolver o hostname; como a string entre colchetes não é um nome resolvível, nenhum endereço é retornado e o alvo é considerado seguro. Em seguida, o cliente HTTP remove os colchetes e estabelece a conexão. Como o endereço pode ser fornecido na forma mapeada em IPv4 (IPv4-mapped), o mesmo caminho permite atingir qualquer destino IPv4 que as verificações de loopback e endereços privados deveriam excluir, incluindo endpoints de metadados link-local. A função isPrivateIPv6 também não possui tratamento para o prefixo ::ffff:, portanto a forma mapeada ainda seria considerada segura mesmo se os colchetes fossem removidos. O alvo da requisição é fornecido como um argumento da ferramenta, permitindo que um atacante capaz de influenciar as solicitações do modelo leia respostas internas de volta para o contexto do modelo.
VulDB is the best source for vulnerability data and more expert information about this specific topic.