Cloudanix VulnDB

CVE-2026-23304

Medium · 5.5

CVSS

5.5

EPSS

0.1%

Published

Mar 25, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in the Linux kernel's network handling can make systems using certain IPv6 setups crash when network devices are reconfigured.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

NULL pointer dereference in ip6_rt_get_dev_rcu during IPv6 route allocation when l3mdev_master_dev_rcu returns NULL on VRF slave device removal, leading to kernel crash via KASAN null-ptr-deref.

Why it matters to the business

Local users or processes can trigger system crashes and denial of service on Linux hosts using IPv6 with VRF configurations, causing unplanned downtime and potential loss of network connectivity.

How an attack unfolds

An attacker with local access manipulates VRF device un-slaving while concurrent IPv6 routing lookups occur through fib6_rule_lookup and ip6_route_output_flags, hitting the missing loopback fallback in ip6_rt_pcpu_alloc and dereferencing a NULL device pointer.

How to fix it

Apply the upstream fix for the NULL dereference in IPv6 route device handling and rebuild or update to a patched kernel release; avoid un-slaving operations without the fallback path until updated.

How to confirm the fix worked

Inspect kernel logs for absence of KASAN null-ptr-deref in ip6_rt_pcpu_alloc after applying updates; verify the loopback fallback logic is present in net/ipv6/route.c and test VRF un-slaving under IPv6 load.

Typical attack path

  1. Obtain local code execution or shell access
  2. Configure or trigger VRF slave device removal
  3. Perform concurrent IPv6 route output operations
  4. Trigger NULL dereference in route cache allocation
  5. Cause kernel panic or system hang

How to detect it

Search kernel logs, dmesg, and systemd journal for KASAN null-ptr-deref messages referencing ip6_rt_pcpu_alloc, ip6_pol_route, or vrf_process_v6_outbound around times of VRF configuration changes.

  • KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f]
  • RIP: ip6_rt_pcpu_alloc
  • Call Trace: ip6_pol_route fib6_rule_lookup ip6_route_output_flags vrf_process_v6_outbound

What your security team should do

  • Prioritize kernel updates for systems using IPv6 and VRF
  • Restrict local unprivileged access to network configuration interfaces
  • Monitor kernel oops and panic logs for IPv6 route functions
  • Test patched kernels in staging environments before production rollout

The record

In the Linux kernel, the following vulnerability has been resolved: ipv6: fix NULL pointer deref in ip6_rt_get_dev_rcu() l3mdev_master_dev_rcu() can return NULL when the slave device is being un-slaved from a VRF. All other callers deal with this, but we lost the fallback to loopback in ip6_rt_pcpu_alloc() -> ip6_rt_get_dev_rcu() with commit 4832c30d5458 ("net: ipv6: put host and anycast routes on device with address"). KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f] RIP: 0010:ip6_rt_pcpu_alloc (net/ipv6/route.c:1418) Call Trace: ip6_pol_route (net/ipv6/route.c:2318) fib6_rule_lookup (net/ipv6/fib6_rules.c:115) ip6_route_output_flags (net/ipv6/route.c:2607) vrf_process_v6_outbound (drivers/net/vrf.c:437) I was tempted to rework the un-slaving code to clear the flag first and insert synchronize_rcu() before we remove the upper. But looks like the explicit fallback to loopback_dev is an established pattern. And I guess avoiding the synchronize_rcu() is nice, too.

Affected packages

Ecosystem Package Introduced Fixed
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-azure 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.27.1.160000.2.8
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.28.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.28.1

Related vulnerabilities