CVE-2026-98099

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

State
Published
Severity
Not scored
Published
Sep 25, 2026
Updated
Oct 21, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

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

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 456b61bca8ee324ab6c18b065e632c9a8c88aa39 to before 0e3e3cec28c4d1bf29948da40b4e9e5d44f7852bAffected
  • 456b61bca8ee324ab6c18b065e632c9a8c88aa39 to before 49d7e1b456ba2f3ee08b3e264d999c09992cde8eAffected
  • 456b61bca8ee324ab6c18b065e632c9a8c88aa39 to before afca229b39acc2590976b3e4f6e0fe76cededc60Affected
  • 456b61bca8ee324ab6c18b065e632c9a8c88aa39 to before 2e46b0c9fcf7e10b64ce1630b925f47918d1f7f6Affected
  • 456b61bca8ee324ab6c18b065e632c9a8c88aa39 to before 0c8f56c583c3250408367880c98e4d6fbc929315Affected
LinuxLinux
  • 2.6.38Affected
  • before 2.6.38Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.57 through 6.18.*Not affected
  • 7.2.7 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.