Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-45905

CVE-2026-45905: Linux Kernel Race Condition Vulnerability

CVE-2026-45905 is a race condition flaw in the Linux kernel's XFRM ICMP route lookup that can trigger ip_rt_bug warnings. This article covers the technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2026-45905 Overview

CVE-2026-45905 is a race condition in the Linux kernel's IPsec (XFRM) ICMP route lookup logic. The flaw resides in icmp_route_lookup() within net/ipv4/icmp.c, specifically the reverse path handling that calls ip_route_input(). When a destination address becomes local between the initial check and the input route lookup, the kernel obtains a RTN_LOCAL route whose dst.output points to ip_rt_bug. Using that route to emit an ICMP reply triggers a WARN_ON at net/ipv4/route.c:1275 and aborts the transmit path. The issue is a kernel networking stability bug rather than a memory corruption flaw.

Critical Impact

A concurrent ip addr add racing with ICMP error generation can trigger ip_rt_bug() and produce kernel warnings on the network receive path, with potential for denial of service on systems handling XFRM/IPsec traffic.

Affected Products

  • Linux kernel branches containing the pre-patch icmp_route_lookup() reverse path logic
  • Systems using XFRM/IPsec policies that emit ICMP error messages
  • Forwarding and gateway nodes processing tunneled or routed IPv4 traffic

Discovery Timeline

  • 2026-05-27 - CVE-2026-45905 published to NVD
  • 2026-05-27 - Last updated in NVD database

Technical Details for CVE-2026-45905

Vulnerability Analysis

The icmp_route_lookup() function performs a multi-step route resolution to send ICMP error messages under XFRM policy. The sequence first looks up an output route for the ICMP reply, then passes it through xfrm_lookup() for policy enforcement. When that lookup is blocked with -EPERM or the destination is not local, the function enters a reverse path that calls xfrm_decode_session_reverse() to construct a reversed flow descriptor fl4_dec with source and destination swapped.

If fl4_dec.saddr is not local, the kernel treats itself as a forwarding node and calls ip_route_input() to simulate the reverse packet's input path. The result rt2 is then passed through xfrm_lookup() with the XFRM_LOOKUP_ICMP flag. The reverse path is required because XFRM policy decisions depend on the direction of the simulated flow.

Root Cause

The defect is a time-of-check to time-of-use (TOCTOU) race between the initial locality test for fl4_dec.saddr and the subsequent ip_route_input() call. A concurrent operation such as ip addr add can make the original packet's source address local in that window. When ip_route_input() then resolves the route, it returns a RTN_LOCAL entry whose dst.output is set to the poison function ip_rt_bug. The pre-patch code does not verify rt2->rt_type before using the route for output. The fix adds a check that rejects RTN_LOCAL results after ip_route_input() and treats them as an error.

Attack Vector

Triggering the race requires concurrent network configuration changes alongside traffic that causes the kernel to emit ICMP errors through the XFRM reverse path. The original reproducer required kernel modifications to widen the race window, indicating the natural window is narrow. Exploitation does not yield code execution. The observable effect is the WARN_ON at ip_rt_bug+0x21/0x30 reached from ip_push_pending_framesicmp_push_reply__icmp_sendip_rcv_finish_core, which aborts the ICMP send and produces kernel log noise.

The vulnerability manifests in the routing decision path inside icmp_route_lookup(). Refer to the upstream commits listed in the references for the precise patch hunks.

Detection Methods for CVE-2026-45905

Indicators of Compromise

  • Kernel warnings referencing ip_rt_bug+0x21/0x30 at net/ipv4/route.c:1275 in dmesg or journal output
  • Call traces showing ip_push_pending_framesicmp_push_reply__icmp_sendip_rcv_finish_coreip_rcv
  • Bursts of these warnings coinciding with ip addr add operations or address management activity on XFRM-enabled hosts

Detection Strategies

  • Parse /var/log/kern.log and journalctl -k for the ip_rt_bug symbol and the route.c line reference
  • Correlate kernel warnings with IPsec/XFRM policy state and concurrent network namespace or interface address changes
  • Track running kernel versions across the fleet and compare against the patched commits referenced by upstream

Monitoring Recommendations

  • Forward kernel logs to a central SIEM and alert on WARN_ON events that match the ip_rt_bug signature
  • Monitor IPsec gateways and forwarding nodes for elevated rates of dropped ICMP error generation
  • Inventory kernel build identifiers and flag hosts running unpatched stable branches

How to Mitigate CVE-2026-45905

Immediate Actions Required

  • Apply the upstream stable kernel updates that add the rt2->rt_type == RTN_LOCAL check after ip_route_input() in icmp_route_lookup()
  • Reboot affected systems into the patched kernel and verify the symbol fix is present
  • Restrict unprivileged access to network configuration utilities that can call ip addr add on production gateways

Patch Information

The fix is distributed across multiple stable branch commits. See Kernel commit 1c9ef28f643c, Kernel commit 2c1f59005da9, Kernel commit 423ce12d10b4, Kernel commit 81b84de32bb2, Kernel commit 9a95ec9144ee, and Kernel commit b04061f89ffc. The patched code rejects RTN_LOCAL routes returned from ip_route_input() in the ICMP reverse path.

Workarounds

  • Avoid runtime ip addr add operations on IPsec gateways under load until the patch is deployed
  • Limit which accounts and automation can mutate interface address state on forwarding hosts
  • Reduce reliance on XFRM-policy-driven ICMP error generation where operationally feasible

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.