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

ipv6: mcast: use rcu_assign_pointer() for __rcu list updates

Several places in net/ipv6/mcast.c update RCU-protected lists
(np->ipv6_mc_list, idev->mc_list, idev->mc_tomb) using direct pointer
assignments instead of rcu_assign_pointer():

1. In __ipv6_dev_mc_dec(), unlinking a group from idev->mc_list did:
*map = ma->next;
without rcu_assign_pointer() while concurrent readers traverse
idev->mc_list locklessly under rcu_read_lock().
2. In ipv6_sock_mc_drop() and __ipv6_sock_mc_close(), unlinking a group
from np->ipv6_mc_list directly assigned *lnk = mc_lst->next and
np->ipv6_mc_list = mc_lst->next without rcu_assign_pointer(), racing
with lockless readers in inet6_mc_check().
3. In __ipv6_sock_mc_join(), mc_lst->next was initialized to
np->ipv6_mc_list via raw assignment before publishing mc_lst.
4. In mld_del_delrec() and __ipv6_dev_mc_inc(), __rcu source pointers
passed into rcu_assign_pointer() lacked explicit dereference helpers.

Fix these by consistently using rcu_assign_pointer() along with
mc_dereference() / sock_dereference().
Published: 2026-09-25
Score: 4.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: RCU race in IPv6 multicast list updates may lead to memory corruption or system instability
Action: Immediate Patch
AI Analysis

Impact

The Linux kernel contains a race condition in IPv6 multicast list handling: several functions incorrectly perform direct pointer assignments on RCU‑protected lists instead of using the required rcu_assign_pointer(). This can expose readers to list entries that have been modified or freed, leading to possible data corruption or crashes.

Affected Systems

Any Linux kernel build that predates the commit sequence referenced in the supplied Git URLs is vulnerable. The issue exists in the core kernel source and therefore affects all distributions, custom kernels, and embedded systems that have not incorporated the patch that changes the multicast list operations to use rcu_assign_pointer() and the appropriate dereference helpers.

Risk and Exploitability

The flaw requires a timing race between a writer updating a multicast list and a reader traversing the same list under rcu_read_lock(). No publicly available exploits are known and the EPSS score is < 1 %, indicating a low likelihood of exploitation. The CVSS score of 4.7 reflects moderate severity, and the vulnerability is not listed in CISA KEV. Successful exploitation could trigger kernel memory corruption and a system crash; however, a clear escalation path is not documented in the description.

Generated by OpenCVE AI on October 29, 2026 at 01:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that includes the rcu_assign_pointer fix for IPv6 multicast list updates.
  • Reboot the system so the updated kernel and networking stack are active.
  • Inspect system logs for any RCU‑related warnings or errors after reboot to confirm the patch is in effect.

Generated by OpenCVE AI on October 29, 2026 at 01:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 22:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 28 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:o:linux:linux_kernel:7.3:rc1:*:*:*:*:*:*
Metrics cvssV3_1

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


Wed, 21 Oct 2026 13:15:00 +0000


Thu, 15 Oct 2026 13:30:00 +0000


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

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: use rcu_assign_pointer() for __rcu list updates Several places in net/ipv6/mcast.c update RCU-protected lists (np->ipv6_mc_list, idev->mc_list, idev->mc_tomb) using direct pointer assignments instead of rcu_assign_pointer(): 1. In __ipv6_dev_mc_dec(), unlinking a group from idev->mc_list did: *map = ma->next; without rcu_assign_pointer() while concurrent readers traverse idev->mc_list locklessly under rcu_read_lock(). 2. In ipv6_sock_mc_drop() and __ipv6_sock_mc_close(), unlinking a group from np->ipv6_mc_list directly assigned *lnk = mc_lst->next and np->ipv6_mc_list = mc_lst->next without rcu_assign_pointer(), racing with lockless readers in inet6_mc_check(). 3. In __ipv6_sock_mc_join(), mc_lst->next was initialized to np->ipv6_mc_list via raw assignment before publishing mc_lst. 4. In mld_del_delrec() and __ipv6_dev_mc_inc(), __rcu source pointers passed into rcu_assign_pointer() lacked explicit dereference helpers. Fix these by consistently using rcu_assign_pointer() along with mc_dereference() / sock_dereference().
Title ipv6: mcast: use rcu_assign_pointer() for __rcu list updates
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-21T12:54:29.854Z

Reserved: 2026-09-25T10:19:56.077Z

Link: CVE-2026-98099

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

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

Modified: 2026-10-28T19:12:29.760

Link: CVE-2026-98099

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T01:15:15Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')