CVE-2026-46415 in Defender Plugin
Sumário
de VulDB • 20/07/2026
O plugin Caddy Defender é um middleware para o servidor web Caddy que permite aos utilizadores bloquear ou manipular pedidos com base no endereço IP do cliente. Antes da versão 0.10.1, o Caddy Defender utilizava `r.RemoteAddr` ao avaliar se um pedido deveria ser bloqueado. O campo `RemoteAddr` corresponde ao endereço do peer imediato conectado ao Caddy. Em implementações onde o Caddy está atrás de um proxy confiável (trusted), CDN ou balanceador de carga, o peer imediato é geralmente o próprio proxy e não o cliente original. O Caddy resolve o endereço do cliente original na variável `client_ip` do pedido após aplicar a política configurada para `trusted_proxies`, mas o Defender não utilizava esse valor. Como resultado, clientes provenientes de intervalos de IP bloqueados podiam contornar as proteções do Defender ao aceder ao Caddy através de um proxy confiável cujo próprio endereço IP não estivesse bloqueado. Isto afeta implementações que utilizam o Defender atrás de proxies confiáveis e esperam que este aplique o bloqueio com base no verdadeiro IP do cliente. O problema foi corrigido na versão 0.10.1, fazendo com que o Defender dê preferência à variável `client_ip` resolvida pelo Caddy quando esta estiver disponível. O Defender recorre ao uso de `RemoteAddr` apenas quando o Caddy não forneceu um endereço IP de cliente resolvido. Não existe uma solução alternativa completa nas versões afetadas do Defender para implementações que dependem da resolução do IP do cliente via proxy confiável no Caddy. Até à atualização, os utilizadores afetados devem aplicar bloqueios equivalentes com base em IPs a nível do proxy confiável, CDN, balanceador de carga, firewall ou outra camada perimetral antes que o tráfego atinja o Caddy. As implementações onde o Caddy recebe tráfeto diretamente dos clientes, sem um proxy intermediário confiável, não são afetadas por esta falha de segurança (bypass).
If you want to get best quality of vulnerability data, you may have to visit VulDB.