CVE-2026-98485

CVE-2026-98485

published October 18, 2026

CVSS
—
EPSS
0%
Percentile
12.0
In the wild
Unconfirmed
What it is

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

netfilter: ip6t_rt: fix zero-address non-strict match out-of-bounds read

rt_mt6_check() permits rules to be configured with rtinfo->addrnr == 0

even when address matching (IP6T_RT_FST_MASK) is requested.

In the IP6T_RT_FST_NSTRICT path, rt_mt6() evaluates packet routing

addresses against rtinfo->addrs[i] and terminates backwards at the bottom

of the loop:

if (ipv6_addr_equal(ap, &rtinfo->addrs[i])) {

i++;

}

if (i == rtinfo->addrnr)

break;

When addrnr is 0, if the first packet address matches rtinfo->addrs[0],

i is incremented to 1. Because i is now strictly greater than addrnr (0),

the loop termination condition (i == rtinfo->addrnr) is bypassed and will

never be satisfied.

If a crafted IPv6 packet contains matching routing addresses, i will

advance past IP6T_RT_HOPS (16). The subsequent call to ipv6_addr_equal()

reads beyond struct ip6t_rt, triggering UBSAN/KASAN out-of-bounds warnings

or kernel panics.

Fix this by:

1. Rejecting rules in rt_mt6_check() where IP6T_RT_FST_MASK is set but

rtinfo->addrnr is zero.

2. In rt_mt6(), moving the termination condition (i < rtinfo->addrnr)

into the for-loop header condition and removing the backwards break

at the end of the loop body.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00221 · 12.0th percentile
Published
2026-10-18T20:16Z
References (8)
EPSS history
Timeline
  • 20 OCT 03:34Z
    EPSS moved — → 0%
    epss
  • 18 OCT 15:16Z
    netfilter: ip6t_rt: fix zero-address non-strict match out-of-bounds read
    cvelistv5
  • 18 OCT 15:16Z
    netfilter: ip6t_rt: fix zero-address non-strict match out-of-bounds read
    cvelistv5