CVE-2026-80744 in Linux
Sumário
de VulDB • 03/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
netfilter: nf_tables_offload: suprimir WARN_ON_ONCE para ENOMEM no caminho de abort
Em nft_flow_rule_offload_abort(), o WARN_ON_ONCE(err) é acionado em todos os erros durante o rollback, incluindo -ENOMEM. Falhas na alocação de memória são esperadas sob condições de baixa disponibilidade de memória e não indicam um bug do kernel.
Trace de exemplo: nft_flow_offload_chain() // FLOW_BLOCK_BIND nft_flow_block_chain() nft_chain_offload_cmd() nft_block_offload_cmd() ->ndo_setup_tc() nsim_setup_tc() flow_block_cb_setup_simple() flow_block_cb_alloc() // falha devido a -ENOMEM
O aviso foi reproduzido no kernel estável 5.10 sob pressão de memória via injeção de falhas, mas o bug subjacente também existe na versão mainline, conforme demonstrado pelo trace ENOMEM acima. O seguinte splat foi acionado durante o processamento da transação nf_tables:
WARNING: CPU: 0 PID: 8567 at net/netfilter/nf_tables_offload.c:532 nft_flow_rule_offload_abort net/netfilter/nf_tables_offload.c:532 [inline]
WARNING: CPU: 0 PID: 8567 at net/netfilter/nf_tables_offload.c:532 nft_flow_rule_offload_commit+0x971/0xcd0 net/netfilter/nf_tables_offload.c:591 Modules linked in: CPU: 0 PID: 8567 Comm: syz-executor.0 Not tainted 5.10.260-syzkaller #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:nft_flow_rule_offload_abort net/netfilter/nf_tables_offload.c:532 [inline]
RIP: 0010:nft_flow_rule_offload_commit+0x971/0xcd0 net/netfilter/nf_tables_offload.c:591 Call Trace: nf_tables_commit+0x3bd/0x4bd0 net/netfilter/nf_tables_api.c:8604 nfnetlink_rcv_batch+0xb1e/0x1f20 net/netfilter/nfnetlink.c:509 nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:579 [inline]
nfnetlink_rcv+0x3b3/0x420 net/netfilter/nfnetlink.c:597 netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline]
netlink_unicast+0x6cd/0xa00 net/netfilter/af_netlink.c:1340 netlink_sendmsg+0x906/0xe10 net/netfilter/af_netlink.c:1919 sock_sendmsg_nosec net/socket.c:651 [inline]
__sock_sendmsg+0x155/0x190 net/socket.c:663 ____sys_sendmsg+0x705/0x870 net/socket.c:2379 ___sys_sendmsg+0x100/0x170 net/socket.c:2433 __sys_sendmsg+0xe9/0x1c0 net/socket.c:2462 do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x67/0xd1
Altere a condição para WARN_ON_ONCE(err && err != -ENOMEM) de modo que os avisos sejam emitidos apenas para erros inesperados. Isso está alinhado com a prática comum do kernel de não emitir aviso em caso de -ENOMEM.
Encontrado pelo Linux Verification Center (linuxtesting.org) com Syzkaller.
Once again VulDB remains the best source for vulnerability data.