OCTOBER 12, 2026
Live Feed
Back to database
Case File

CVE-2026-90111

HIGH · CVSS 7.8 EPSS 0.17%

Source: NVD + CISA KEV + EPSS · Published 2026-09-17 · Last synced 2026-10-12

CyberRota Analysis

AI-Generated

The vulnerability affects the Linux kernel's handling of IPv6 multicast packets, specifically in the ip6mr module, where a use-after-free condition can occur due to improper management of destination entries. If an ingress multicast packet misses a multicast forwarding cache (MFC) lookup, it can lead to the execution of dst_clone on a freed destination entry, potentially allowing an attacker to exploit this flaw. System administrators and developers managing Linux systems with IPv6 multicast capabilities should prioritize applying the relevant patches to mitigate this risk.

CVE
CVE-2026-90111
Severity
HIGH
CVSS
7.8
EPSS
0.17%
Linux

Original NVD Description

In the Linux kernel, the following vulnerability has been resolved: ip6mr: do not clone dst in ip6mr_cache_report() IPv6 input attaches a non-refcounted (NOREF) dst to skbs under RCU. When an ingress multicast packet misses MFC lookup, ip6mr_cache_unresolved() places the skb onto the unresolved queue, escaping the receive-side RCU grace period. If the underlying route is deleted and freed, and the MFC queue is later resolved with a wrong parent interface, ip6_mr_forward() invokes ip6mr_cache_report(..., MRT6MSG_WRONGMIF), which executes dst_clone(skb_dst(pkt)) on the freed dst entry, triggering a slab use-after-free. Report packets queued to mroute6_sk (a raw socket) and netlink notifications do not require an attached dst entry. Fix this by: 1. Removing dst_clone() in ip6mr_cache_report() and ensuring report skbs do not hold a dst. 2. Dropping skb_dst before queuing unresolved skbs in ip6mr_cache_unresolved(), matching the fact that multicast forwarding resolves outgoing routes anew via ip6_route_output().