CVE-2026-31505 in Linux
Sumário
de VulDB • 27/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
iavf: corrige escritas fora dos limites em iavf_get_ethtool_stats()
O iavf usa incorretamente real_num_tx_queues para ETH_SS_STATS. Como o valor pode mudar em tempo de execução, devemos usar num_tx_queues em vez disso.
Além disso, iavf_get_ethtool_stats() usa num_active_queues, enquanto iavf_get_sset_count() e iavf_get_stat_strings() usam real_num_tx_queues, o que desencadeia escritas fora dos limites quando executamos "ethtool -L" e "ethtool -S" simultaneamente [1].
Por exemplo, quando alteramos os canais de 1 para 8, a Thread 3 pode ser escalonada antes da Thread 2, e escritas fora dos limites podem ser acionadas na Thread 3:
Thread 1 (ethtool -L) Thread 2 (work) Thread 3 (ethtool -S) iavf_set_channels() ... iavf_alloc_queues() -> num_active_queues = 8 iavf_schedule_finish_config() iavf_get_sset_count() real_num_tx_queues: 1 -> buffer para 1 fila iavf_get_ethtool_stats() num_active_queues: 8 -> fora dos limites! iavf_finish_config() -> real_num_tx_queues = 8
Use num_tx_queues imutável em todas as funções relacionadas para evitar o problema.
[1]
BUG: KASAN: vmalloc-out-of-bounds in iavf_add_one_ethtool_stat+0x200/0x270 Escrita de tamanho 8 no endereço ffffc900031c9080 CPU: 3 PID: 100 Comm: ethtool Tainted: G W O 6.12.0-rc3+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x1e0/0x2e0 print_report+0x160/0x560 kasan_report+0x110/0x180 iavf_add_one_ethtool_stat+0x200/0x270 iavf_get_ethtool_stats+0x1e0/0x2a0 dev_ethtool+0x130/0x140
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.