Description
In the Linux kernel, the following vulnerability has been resolved:

ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source()

pmc->sflist is read locklessly under rcu_read_lock() by
inet6_mc_check() during packet reception in the UDP and RAW
multicast receive paths.

ip6_mc_source() mutated psl->sl_addr and psl->sl_count in-place
when adding or removing a source filter. Additionally, when expanding
the filter buffer, newpsl was published via rcu_assign_pointer()
before writing the new source into the array.

Because 16-byte struct in6_addr writes are not atomic and array
shifting is not synchronized with RCU readers, concurrent readers in
inet6_mc_check() could read torn IPv6 addresses or observe
duplicated/missed source entries.

Fix this by switching ip6_mc_source() to copy-on-write RCU updates:
allocate and fully populate newpsl before publishing it via
rcu_assign_pointer(), and reclaim the old filter via kfree_rcu(),
matching ip6_mc_msfilter().

Also remove the now unused IP6_SFBLOCK macro.
Published: 2026-09-25
Score: 4.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Potential data integrity or traffic disruption due to corrupted IPv6 multicast source filtering
Action: Apply Patch
AI Analysis

Impact

The Linux kernel’s IPv6 multicast source filtering routine mutates the source filter list in place while other threads may be reading that list under an RCU read lock. Based on the description, it is inferred that the vulnerability can be exploited by creating a race condition between ip6_mc_source (writer) and inet6_mc_check (reader), which may occur during simultaneous multicast traffic processing. Because 16‑byte IPv6 address writes are not atomic and the array is shifted without synchronization, concurrent readers can observe torn or duplicated IPv6 addresses and missing entries. This can lead to corrupted multicast source filtering, potentially causing the kernel to misinterpret source addresses and disrupt multicast traffic.

Affected Systems

The vulnerability exists in all Linux kernel builds containing the unpatched ip6_mc_source() implementation. Affected vendors include the Linux kernel maintainers; affected versions are those released before the commit that introduced copy‑on‑write RCU updates (e.g., the snapshot before commit 20db91a052332ef5). No specific patch level is listed, so kernels up to the corresponding release are impacted.

Risk and Exploitability

The CVSS score is 4.4 and the EPSS score is < 1%, indicating limited risk of widespread exploitation. Based on the description, it is inferred that the vulnerability requires concurrent read/write activity on multicast source filters, which can be triggered by normal multicast traffic patterns. This makes the attack vector a local race condition rather than an externally craftable packet. Because it is a race condition that leads to corrupted data rather than immediate code execution, the risk is assessed as low to moderate. The vulnerability is not listed in the CISA KEV catalog, and no public exploits have been reported.

Generated by OpenCVE AI on October 7, 2026 at 11:43 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the copy‑on‑write RCU patch (commits 20db91a05 or later).
  • If a kernel update is not immediately possible, consider disabling IPv6 multicast on critical interfaces or applying network filtering rules to block multicast traffic from untrusted sources.
  • Monitor system logs for RCU warnings, crashes, or abnormal multicast behavior that may indicate exploitation attempts.

Generated by OpenCVE AI on October 7, 2026 at 11:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Wed, 07 Oct 2026 10:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Tue, 06 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-366
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N'}

threat_severity

Low


Sat, 03 Oct 2026 11:15:00 +0000


Fri, 25 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Fri, 25 Sep 2026 10:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source() pmc->sflist is read locklessly under rcu_read_lock() by inet6_mc_check() during packet reception in the UDP and RAW multicast receive paths. ip6_mc_source() mutated psl->sl_addr and psl->sl_count in-place when adding or removing a source filter. Additionally, when expanding the filter buffer, newpsl was published via rcu_assign_pointer() before writing the new source into the array. Because 16-byte struct in6_addr writes are not atomic and array shifting is not synchronized with RCU readers, concurrent readers in inet6_mc_check() could read torn IPv6 addresses or observe duplicated/missed source entries. Fix this by switching ip6_mc_source() to copy-on-write RCU updates: allocate and fully populate newpsl before publishing it via rcu_assign_pointer(), and reclaim the old filter via kfree_rcu(), matching ip6_mc_msfilter(). Also remove the now unused IP6_SFBLOCK macro.
Title ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-03T11:02:23.528Z

Reserved: 2026-09-25T10:25:14.315Z

Link: CVE-2026-98101

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Undergoing Analysis

Published: 2026-09-25T11:17:39.830

Modified: 2026-10-03T11:18:32.250

Link: CVE-2026-98101

cve-icon Redhat

Severity : Low

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-98101 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T11:45:16Z

Weaknesses
  • CWE-366

    Race Condition within a Thread