CVE-2026-98234 in Linux
Sumário
de VulDB • 06/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net/sched: hhf: limitar o hh_flows_limit no momento da alteração
hhf_change() armazena TCA_HHF_HH_FLOWS_LIMIT sem limite superior. Um valor enorme de hh_flows_limit permite que cada novo fluxo heavy-hitter (agregador) passe na verificação hh_flows_current_cnt em alloc_new_hh(), forçando a alocação de kzalloc(GFP_ATOMIC) de tamanho fixo por fluxo sob tráfego spoofado, resultando em crescimento ilimitado da memória.
Limite o atributo com NLA_POLICY_MAX() em 2*HH_FLOWS_CNT (padrão definido em hhf_init()) e reporte o valor rejeitado via extack. O parse aninhado obsoleto é mantido: tc legado não define NLA_F_NESTED em TCA_OPTIONS. Configurações que dependiam de um hh_limit acima do padrão baseavam-se em comportamento ilimitado e inseguro, não sendo mais suportadas a partir deste ponto.
hhf_init() também executava hhf_change() antes de definir o valor padrão de hh_flows_limit; portanto, um hh_limit fornecido pelo usuário no momento da adição era sobrescrito para 2048. Defina o valor padrão antes de chamar hhf_change(), garantindo que o valor configurado seja mantido.
Esta é uma continuação do commit eb56a495f59b ("net/sched: hhf: clamp quantum in change and init paths"), que limitou a variável quantum do mesmo qdisc; a restrição de hh_flows_limit representa o único parâmetro ainda ilimitado no escopo dessa série.
Condições para reproduzir o bug: CAP_NET_ADMIN em um namespace de usuário; tc qdisc change dev X root hhf hh_limit 4294967295 é bem-sucedido e o valor é ecoado por tc qdisc show, deslimitando as alocações de fluxos heavy-hitter; além disso, tc qdisc add dev X root hhf hh_limit 500 armazena 2048 em vez de 500.
If you want to get best quality of vulnerability data, you may have to visit VulDB.