CVE-2026-23398 icmp: fix NULL pointer dereference in icmp_tag_validation()
A remote attacker can cause a kernel panic and denial of service by sending crafted ICMP packets when hardened PMTU mode is enabled.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-23398?
CVE-2026-23398 is a medium-severity vulnerability in Linux kernel, published on 26 Mar 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
icmp: fix NULL pointer dereference in icmp_tag_validation()
icmp_tag_validation() unconditionally dereferences the result of rcu_dereference(inet_protos[proto]) without checking for NULL. The inet_protos[] array is sparse -- only about 15 of 256 protocol numbers have registered handlers. When ip_no_pmtu_disc is set to 3 (hardened PMTU mode) and the kernel receives an ICMP Fragmentation Needed error with a quoted inner IP header containing an unregistered protocol number, the NULL dereference causes a kernel panic in softirq context.
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] RIP: 0010:icmp_unreach (net/ipv4/icmp.c:1085 net/ipv4/icmp.c:1143) Call Trace: <IRQ> icmp_rcv (net/ipv4/icmp.c:1527) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:207) ip_local_deliver_finish (net/ipv4/ip_input.c:242) ip_local_deliver (net/ipv4/ip_input.c:262) ip_rcv (net/ipv4/ip_input.c:573) __netif_receive_skb_one_core (net/core/dev.c:6164) process_backlog (net/core/dev.c:6628) handle_softirqs (kernel/softirq.c:561) </IRQ>
Add a NULL check before accessing icmp_strict_tag_validation. If the protocol has no registered handler, return false since it cannot perform strict tag validation.
Weakness: CWE-476
Which versions are affected by CVE-2026-23398?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-23398?
Apply the vendor's patch.
Is CVE-2026-23398 being exploited?
There is no known exploitation of CVE-2026-23398 in the wild and no public exploit code.
Public exploit code: 2 proofs of concept on GitHub.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-80847, BELL-CVE-2026-23398, DEBIAN-CVE-2026-23398, GHSA-x3j5-9ghr-8cwm, ROOT-OS-DEBIAN-11-CVE-2026-23398, ROOT-OS-DEBIAN-12-CVE-2026-23398 and 4 more.