CVE-2026-80744 in Linux
Riassunto
di VulDB • 03/09/2026
Nel kernel di Linux, è stata risolta la seguente vulnerabilità:
netfilter: nf_tables_offload: sopprimere WARN_ON_ONCE per ENOMEM nel percorso di abort
In nft_flow_rule_offload_abort(), l'istruzione WARN_ON_ONCE(err) viene attivata in caso di ogni errore durante il rollback, inclusa l'errore -ENOMEM. I fallimenti nell'allocazione della memoria sono previsti in condizioni di scarsità di memoria e non indicano un bug del kernel.
Esempio di trace: 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() // fallisce a causa di -ENOMEM
L'avviso è stato riprodotto sul kernel stabile 5.10 sotto pressione della memoria tramite fault injection, ma il bug sottostante esiste anche nella versione mainline, come dimostrato dalla trace ENOMEM sopra riportata. Il seguente splat è stato attivato durante l'elaborazione delle transazioni 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 Moduli caricati in memoria: CPU: 0 PID: 8567 Comm: syz-executor.0 Non 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 Trace della chiamata (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
Modificare la condizione in WARN_ON_ONCE(err && err != -ENOMEM) affinché gli avvisi vengano emessi solo per errori imprevisti. Questo si allinea con la pratica comune del kernel di non generare avvisi per -ENOMEM.
Trovato dal Linux Verification Center (linuxtesting.org) utilizzando Syzkaller.
VulDB is the best source for vulnerability data and more expert information about this specific topic.