{"id":"CVE-2026-90111","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nip6mr: do not clone dst in ip6mr_cache_report()\n\nIPv6 input attaches a non-refcounted (NOREF) dst to skbs under RCU.\nWhen an ingress multicast packet misses MFC lookup,…","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nip6mr: do not clone dst in ip6mr_cache_report()\n\nIPv6 input attaches a non-refcounted (NOREF) dst to skbs under RCU.\nWhen an ingress multicast packet misses MFC lookup,…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","vendor":"Linux","product":"Linux","affected":["Linux >= 67f415dd29063a5906c560051c00e42dcf01a4dd < 4a674afaae4136c71943aa3e35d433676fd40e8f","Linux >= 67f415dd29063a5906c560051c00e42dcf01a4dd < 235b42b5860189eb8c27c36435ad932cae65a734","Linux 5.3"],"published":"2026-09-17","updated":"2026-09-18","sourceUpdated":"2026-09-18T18:17:42.500","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-90111","references":[{"url":"https://git.kernel.org/stable/c/235b42b5860189eb8c27c36435ad932cae65a734","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/4a674afaae4136c71943aa3e35d433676fd40e8f","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"}],"tags":["nvd","cve.org"],"epss":0.00154,"epssPercentile":0.04908,"ingestedAt":"2026-09-17T16:21:47.887Z","slug":"CVE-2026-90111","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nip6mr: do not clone dst in ip6mr_cache_report()\n\nIPv6 input attaches a non-refcounted (NOREF) dst to skbs under RCU.\nWhen an ingress multicast packet misses MFC lookup,\nip6mr_cache_unresolved() places the skb onto the unresolved queue,\nescaping the receive-side RCU grace period.\n\nIf the underlying route is deleted and freed, and the MFC queue is later\nresolved with a wrong parent interface, ip6_mr_forward() invokes\nip6mr_cache_report(..., MRT6MSG_WRONGMIF), which executes\ndst_clone(skb_dst(pkt)) on the freed dst entry, triggering a slab\nuse-after-free.\n\nReport packets queued to mroute6_sk (a raw socket) and netlink\nnotifications do not require an attached dst entry.\n\nFix this by:\n1. Removing dst_clone() in ip6mr_cache_report() and ensuring report skbs\n   do not hold a dst.\n2. Dropping skb_dst before queuing unresolved skbs in\n   ip6mr_cache_unresolved(), matching the fact that multicast\n   forwarding resolves outgoing routes anew via ip6_route_output().\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":207125,"id":"CVE-2026-90111","ts":1789757334056,"field":"cvss","old":null,"new":"7.8"},{"seq":207124,"id":"CVE-2026-90111","ts":1789757334056,"field":"severity","old":"none","new":"high"}]}