CVE-2026-98485
Received Received - Intake

Out-of-Bounds Read in Linux Kernel Netfilter IPv6 Routing

Vulnerability report for CVE-2026-98485, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-18

Last updated on: 2026-10-18

Assigner: kernel.org

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-18
Last Modified
2026-10-18
Generated
2026-10-18
AI Q&A
2026-10-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 9 associated CPEs
Vendor Product Version / Range
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Linux Linux 2.6.12

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves a flaw in the netfilter IP6T_RT module. It allows rules to be set with zero addresses even when address matching is requested. When processing IPv6 packets, this can lead to an out-of-bounds read in kernel memory, potentially causing kernel panics or triggering security mechanisms like UBSAN/KASAN.

Detection Guidance

This vulnerability is specific to the Linux kernel's netfilter IPv6 routing table (ip6t_rt) module. Detection requires checking kernel logs for UBSAN/KASAN out-of-bounds warnings or kernel panics related to IPv6 routing. Monitor logs with: dmesg | grep -i 'UBSAN\|KASAN\|out-of-bounds' or journalctl -k | grep -i 'UBSAN\|KASAN\|out-of-bounds'.

Impact Analysis

This vulnerability could allow an attacker to craft malicious IPv6 packets that trigger kernel memory corruption. This may result in system crashes, denial of service, or unauthorized access to sensitive kernel data, depending on the system's configuration and security measures.

Mitigation Strategies

Apply the kernel patch that fixes the rt_mt6_check() and rt_mt6() logic. Update to a patched kernel version. If immediate patching is not possible, disable IPv6 routing rules with rtinfo->addrnr == 0 and IP6T_RT_FST_MASK set as a temporary workaround.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-98485. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart