CVEvulnerability
CVE-2026-98303
- Status
- Received
- Published
- 2026-10-06
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
ipv4: icmp: reject RTN_UNREACHABLE input routes in icmp_route_lookup
When the forward output route cannot be used in icmp_route_lookup(),
it enters the "reverse path" and calls ip_route_input() on fl4_dec.daddr,
the original packet's source address.
ip_route_input() only returns an error for truly invalid packets. For
unreachable addresses it will succeed and return an input route whose
dst.output is set to ip_rt_bug(). The existing check only rejects
RTN_LOCAL routes, so the RTN_UNREACHABLE route types can still be returned
and later used for output, syzkaller triggering a WARN_ON_ONCE()
in ip_rt_bug() as bellow:
------------[ cut here ]------------
WARNING: net/ipv4/route.c:1273 at ip_rt_bug+0x14/0x20
RIP: 0010:ip_rt_bug+0x14/0x20
Call Trace:
ip_push_pending_frames+0xfa/0x100
__icmp_send+0x905/0xf10
ip_options_compile+0xc0/0xd0
ip_rcv_finish_core+0x321/0xae0
ip_rcv+0x1de/0x260
__netif_receive_skb_one_core+0x11a/0x130
netif_receive_skb+0x7b/0x260
tun_get_user+0x11bf/0x1c10
------------[ cut here ]------------
Reject input route that is RTN_UNREACHABLE to fix it. The net warning
is only printed for RTN_LOCAL, as RTN_UNREACHABLE is not the result of
a race condition.
References
- https://git.kernel.org/stable/c/06083cea4a3b95f5ebc85312f97d7086e6c9e782 git.kernel.org
- https://git.kernel.org/stable/c/1af2d87964d87ba7626d96928d68c09158b5a223 git.kernel.org
- https://git.kernel.org/stable/c/2998147b59c9df0a51477c7a6b3d1f0ba3127dd4 git.kernel.org
- https://git.kernel.org/stable/c/83aa83f81a8fec30ff5372dee60b2f0561bcb2ca git.kernel.org
- https://git.kernel.org/stable/c/cac69c50716c712ef0114837c9427da66066124c git.kernel.org
- https://git.kernel.org/stable/c/fda3000147dc96c75ba162f680bec0a9fecf3037 git.kernel.org