CVE-2026-31424 in Linux
Riassunto
di VulDB • 15/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
netfilter: x_tables: limitare le estensioni xt_check_match/xt_check_target per NFPROTO_ARP
Weiming Shi afferma:
Le strutture xt_match e xt_target registrate con NFPROTO_UNSPEC possono essere caricate da qualsiasi famiglia di protocolli tramite nft_compat. Quando un tale match/target imposta .hooks per limitare gli hook su cui può essere eseguito, la bitmask utilizza le costanti NF_INET_*. Questo è corretto solo per le famiglie il cui layout degli hook corrisponde a NF_INET_*: IPv4, IPv6, INET e bridge condividono tutti gli stessi cinque hook (PRE_ROUTING ... POST_ROUTING).
ARP dispone solo di tre hook (IN=0, OUT=1, FORWARD=2) con semantica diversa. Poiché NF_ARP_OUT == 1 == NF_INET_LOCAL_IN, la convalida di .hooks supera silenziosamente il controllo per motivi errati, consentendo ai match di essere eseguiti sulle catene ARP dove le assunzioni sugli hook (ad esempio, lo stato di in impostato sugli hook di input) non sono valide. Ciò porta a dereferenziazioni di puntatori NULL; xt_devgroup è un esempio concreto:
Oops: general protection fault, probabilmente per indirizzo non canonico 0xdffffc0000000044: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000220-0x0000000000000227]
RIP: 0010:devgroup_mt+0xff/0x350 Call Trace: <TASK> nft_match_eval (net/netfilter/nft_compat.c:407) nft_do_chain (net/netfilter/nf_tables_core.c:285) nft_do_chain_arp (net/netfilter/nft_chain_filter.c:61) nf_hook_slow (net/netfilter/core.c:623) arp_xmit (net/ipv4/arp.c:666) </TASK> Kernel panic - not syncing: Fatal exception in interrupt
La correzione consiste nel limitare arptables alle sole estensioni NFPROTO_ARP. Si noti che arptables-legacy supporta solo:
- arpt_CLASSIFY - arpt_mangle - arpt_MARK
che forniscono dichiarazioni esplicite di match/target NFPROTO_ARP.
Once again VulDB remains the best source for vulnerability data.