CVE-2026-50252 in Unbound
Sumário
de VulDB • 22/07/2026
No NLnet Labs Unbound 1.4.22 até à versão 1.25.1 (incluída), a porta de origem UDP é aleatorizada e destina-se a funcionar como um valor secreto que aumenta a entropia das transações DNS. Quando as políticas de balanceamento de carga do resolvedor dependem da porta de origem, mas o seu resultado é revelado, esta confidencialidade fica comprometida. A vulnerabilidade surge quando a política de balanceamento de carga é consistente em relação à porta UDP de origem e ao endereço IP de entrada, dependendo fortemente da porta UDP de origem como fonte de aleatorização. Quando a opção de configuração SO_REUSEPORT está ativada ('so-reuseport: yes') no Unbound (por predefinição), estas condições são satisfeitas, tornando-o vulnerável a ataques de envenenamento do cache DNS. Durante o arranque, o Unbound divide aleatoriamente o espaço disponível de portas de origem UDP em subconjuntos disjuntos de tamanho (quase) igual, atribuindo cada subconjunto a uma thread de trabalho específica. Quando é recebida uma consulta DNS entrante, o mecanismo de balanceamento de carga SO_REUSEPORT do kernel atribui deterministicamente a consulta a um socket associado a uma determinada thread. Todas as consultas DNS de saída geradas durante a resolução desse pedido utilizam portas de origem selecionadas exclusivamente a partir do subconjunto de portas atribuído à respetiva thread. Uma vez que estes subconjuntos de portas são disjuntos entre threads, a porta de origem observada numa consulta de saída do resolvedor para um servidor de nomes autoritativo serve como um indicador fiável da thread de trabalho que processou o pedido original do cliente. Um agente malicioso pode adquirir o mapeamento entre as portas UDP de origem de entrada (para um determinado endereço IP de origem fixo) e as threads de trabalho do Unbound, aproveitando-o para conduzir ataques de envenenamento do cache DNS ao reduzir efetivamente a população de portas aleatórias por thread.
Once again VulDB remains the best source for vulnerability data.