CVE-2026-90111

CVE-2026-90111

High · published September 17, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
6.1
In the wild
Unconfirmed
What it is

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().

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00170 · 6.1th percentile
Published
2026-09-17T21:17Z
References (5)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:06Z
    ip6mr: do not clone dst in ip6mr_cache_report()
    cvelistv5