🛡️ CVE-2026-46099 — kernel

🟠 CVSS 8.1 — High ✅ No Known Exploit NVD
8.1
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

net: ipv6: fix NOREF dst use in seg6 and rpl lwtunnels

In the Linux kernel, the following vulnerability has been resolved:

net: ipv6: fix NOREF dst use in seg6 and rpl lwtunnels

seg6_input_core() and rpl_input() call ip6_route_input() which sets a

NOREF dst on the skb, then pass it to dst_cache_set_ip6() invoking

dst_hold() unconditionally.

On PREEMPT_RT, ksoftirqd is preemptible and a higher-priority task can

release the underlying pcpu_rt between the lookup and the caching

through a concurrent FIB lookup on a shared nexthop.

Simplified race sequence:

ksoftirqd/X higher-prio task (same CPU X)

----------- --------------------------------

seg6_input_core(,skb)/rpl_input(skb)

dst_cache_get()

-> miss

ip6_route_input(skb)

-> ip6_pol_route(,skb,flags)

[RT6_LOOKUP_F_DST_NOREF in flags]

-> FIB lookup resolves fib6_nh

[nhid=N route]

-> rt6_make_pcpu_route()

[creates pcpu_rt, refcount=1]

pcpu_rt->sernum = fib6_sernum

[fib6_sernum=W]

-> cmpxchg(fib6_nh.rt6i_pcpu,

NULL, pcpu_rt)

[slot was empty, store succeeds]

-> skb_dst_set_noref(skb, dst)

[dst is pcpu_rt, refcount still 1]

rt_genid_bump_ipv6()

-> bumps fib6_sernum

[fib6_sernum from W to Z]

ip6_route_output()

-> ip6_pol_route()

-> FIB lookup resolves fib6_nh

[nhid=N]

-> rt6_get_pcpu_route()

pcpu_rt->sernum != fib6_sernum

[W <> Z, stale]

-> prev = xchg(rt6i_pcpu, NULL)

-> dst_release(prev)

[prev is pcpu_rt,

refcount 1->0, dead]

dst = skb_dst(skb)

[dst is the dead pcpu_rt]

dst_cache_set_ip6(dst)

-> dst_hold() on dead dst

-> WARN / use-after-free

For the race to occur, ksoftirqd must be preemptible (PREEMPT_RT without

PREEMPT_RT_NEEDS_BH_LOCK) and a concurrent task must be able to release

the pcpu_rt. Shared nexthop objects provide such a path, as two routes

pointing to the same nhid share the same fib6_nh and its rt6i_pcpu

entry.

Fix seg6_input_core() and rpl_input() by calling skb_dst_force() after

ip6_route_input() to force the NOREF dst into a refcounted one before

caching.

The output path is not affected as ip6_route_output() already returns a

refcounted dst.

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is high, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity high, availability high.

Affected software

CVE-2026-46099 is recorded against 3 packages.

  • kernel (from 6.19.0 up to 7.0.4)
  • linux-kernel
  • unknown

Timeline and source

Published on 27 May 2026 and last revised on 6 August 2026. No public exploit is currently recorded for this entry. A vendor advisory or fix has been published. Record sourced from NVD.

References

git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
git.kernel.org (Web)
security.access.redhat.com (Web)
access.redhat.com (Advisory)
access.redhat.com (Advisory)
github.com (Advisory)
nvd.nist.gov (Advisory)
bugzilla.redhat.com (Report)
git.kernel.org (Package)

CVE-2026-46099 on other distributions

Each distribution ships its own build and its own fixed version. Pick the one you run:

Details

Severity High
CVSS Score 8.1
CVSS Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE N/A
Public Exploit ✅ No
Source NVD
Published 2026-05-27
Updated 2026-08-12
Modified 2026-08-06

Affected Packages

Software From version Fixed in
kernel 6.19.0 7.0.4
linux-kernel
unknown

References

Similar Threats

Site Security Check

Is kernel part of your stack?

CVE-2026-46099 is rated CVSS 8.1 High. BotEraser scans your installation against known CVE records and tells you whether this vulnerability applies to the versions you actually run.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.