CVE-2026-98303
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ipv4: icmp: icmp_route_lookup에서 RTN_UNREACHABLE 입력 라우트 거부
icmp_route_lookup()에서 포워딩 출력 라우트를 사용할 수 없는 경우, "역방향 경로(reverse path)"로 진입하여 fl4_dec.daddr(원본 패킷의 소스 주소)에 대해 ip_route_input()를 호출합니다.
ip_route_input()는 실제로 유효하지 않은 패킷인 경우에만 오류를 반환합니다. 도달 불가능한(unreachable) 주소의 경우에는 성공하며, dst.output이 ip_rt_bug()로 설정된 입력 라우트를 반환합니다. 기존 체크는 RTN_LOCAL 라우트만 거부하므로, RTN_UNREACHABLE 라우트 유형은 여전히 반환되어 나중에 출력(output)에 사용될 수 있으며, 이는 syzkaller가 아래에서 보이는 것처럼 ip_rt_bug() 내에서 WARN_ON_ONCE()를 트리거하게 만듭니다:
------------[ 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 ]------------
RTN_UNREACHABLE인 입력 라우트를 거부하여 이를 수정합니다. RTN_LOCAL의 경우에만 네트워크 경고가 출력되는데, 이는 RTN_UNREACHABLE이 Race Condition(경쟁 조건)의 결과가 아니기 때문입니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.