From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-98101][MODERATE REGULAR] ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source() [ Upstream Date: Fri, 25 Sep 2026 07:53:03 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-98101 X-AL-KERNEL-Priority: MODERATE REGULAR X-AL-KERNEL-Severity: MODERATE REGULAR X-AL-KERNEL-Base-Severity: MODERATE X-AL-KERNEL-KPANIC: NO X-AL-KERNEL-ActionableScore: 1 X-AL-KERNEL-ActionableScore-Lower: unknown X-AL-KERNEL-Commit: 2c2091e2ee93049fc513ad1e6c99d8b6c809f467 List-Id: CVE: CVE-2026-98101 Priority: MODERATE REGULAR AL-KERNEL base severity: MODERATE KPANIC flag: NO Patch: ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source() [ Upstream Commit: 2c2091e2ee93049fc513ad1e6c99d8b6c809f467 Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2c2091e2ee93049fc513ad1e6c99d8b6c809f467 Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98101 Analysis date: Fri, 25 Sep 2026 07:53:03 -0400 ActionableScore: 1 ActionableScore lower bound: unknown Actionable bucket: Ordinary Moderate Manual review required: NO Summary: No one-sentence report phrase was found. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-98101 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98101 The original announcement does not normally provide a security severity estimate, CVSS assessment, or enough information to determine whether the reported kernel bug represents a practically relevant security issue. This report was generated by AL-KERNEL, an AI-assisted Linux kernel vulnerability analysis system developed by Alexander Larkin. It combines an autonomous classifier with LLM-assisted technical analysis and a separate ActionableScore mechanism. The purpose of this report is to prioritize Linux kernel CVEs before manual review, identify cases that require prompt investigation, and support automatic closure of issues that are unlikely to have meaningful security impact. Published priority for this report: MODERATE REGULAR Manual review required: NO A detailed explanation of the methodology and priority rules is included at the end of this message. ====================================================================== AL-KERNEL CLASSIFICATION RESULT ====================================================================== CVE-2026-98101 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-98101 CHECK WITH IMPACT FROM ORIG NN MODERATE Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N';CWE-362;CWE-662;CWE-284;BEST CVSS score: '3.7';DESCR 'A race condition in the IPv6 multicast source filter handling occurs because ip6_mc_source updates the pmc sflist data in place while inet6_mc_check reads the same data under RCU in the UDP and RAW multicast receive paths. Concurrent updates can expose torn IPv6 addresses or temporarily duplicated or missing source entries, which may cause packets from an unintended multicast source to be accepted or valid packets to be rejected. For the CVSS the PR:L value reflects that reliable triggering requires a local process that owns or shares the affected socket and concurrently changes its IPv6 multicast source filter. The network aspect is adjacent because multicast traffic normally requires access to the relevant local or trusted multicast network segment. Impact is limited confidentiality and integrity exposure through incorrect source filter enforcement. The patch context does not show a use after free, out of bounds access, kernel crash, or privilege escalation primitive.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Ordinary Moderate (with actual score 1) YES REMOTE IPV6 PACKET DECREASED_TO_MODERATE_REGULAR_FROM_MODERATE7_BASED_ON_GUESSCVSS YES NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=1 PrimitiveClass=NONE RealUAF=NO HostAdminRequired=NO NamespaceScopedPrivilege=UNKNOWN ImportantCandidate=NO ManualReview=RECOMMENDED AutoDowngradeAllowed=YES 1. ActionableScore * Raw conservative score: 1 * Conservative score: 1 * Raw paranoid score: 1 * Paranoid score: 1 * Final recommended bucket: **Ordinary Moderate**:: No floor or cap was applied. 2. Signal breakdown Positive signals: * +1 Local unprivileged trigger. An ordinary local process can normally create an IPv6 socket, join a multicast group, configure its own multicast source filters through socket options, and generate concurrent filter updates. No host-admin-equivalent privilege is normally required for this socket-level operation on an existing usable interface. No additional positive signals awarded: * +0 Real UAF or lifetime corruption. The old source-filter object remains RCU-protected until `kfree_rcu()`. The defect is that a still-live RCU-visible object is mutated in place, not that it is freed while a reader dereferences it. * +0 Controlled reclaim, arbitrary write, directed kernel write, refcount corruption, or callback influence. None is established by the patch. * +0 Remote directly reachable. An adjacent multicast sender can influence packet reception, but the faulty update also requires concurrent local source-filter changes on the affected socket. A network sender alone does not complete the trigger. * +0 Strong authorization bypass. `inet6_mc_check()` can make an incorrect source-filter decision, but the supplied evidence does not establish bypass of a kernel authorization, credential, capability, LSM, namespace, or cross-principal security boundary. * +0 Confidentiality. A torn or uninitialized-looking IPv6 address is used internally for source matching. The patch does not establish copying uninitialized data to userspace or the network. * +0 Integrity. The patch does not establish unauthorized modification of protected kernel state, another principals data, credentials, policy, or a protected file. * +0 Reliable kernel crash or strong DoS. The demonstrated result is incorrect packet filtering, including possible acceptance or rejection of multicast packets. No kernel crash, panic, resource exhaustion, or host-wide availability failure is shown. * +0 Common networking-core exposure. The affected reader is in UDP and RAW multicast receive processing, but the vulnerable condition additionally requires IPv6 multicast source-filter configuration and concurrent updates. The specific feature use is not demonstrated to be broadly exercised enough for this bonus. * +0 Concrete RCU referenced-object lifetime mismatch. There is no separate referenced object whose lifetime ends before readers of the parent RCU object finish. The issue is in-place mutation and premature publication of partially populated replacement state. Negative signals: * No hard-race penalty applied. The defect is concurrent by nature, but the supplied evidence does not prove a narrow, one-shot, externally uncontrollable, or low-probability timing window. A local process can repeatedly issue filter changes while multicast packets are received. * No niche-subsystem penalty applied. IPv6 multicast source filtering is specialized relative to ordinary unicast traffic, but the prompt does not permit a negative score merely because the subsystem is less commonly used. 3. Reachability analysis The evaluated attacker model is an ordinary local process controlling its own IPv6 multicast socket. It can potentially issue repeated source-filter add or remove operations while packet reception runs concurrently on that socket. The receiving path is reached by multicast traffic in the UDP and RAW socket receive paths. A network-adjacent sender on the relevant multicast-capable network segment can supply packets during the race. This is not directly remote reachability in the usual CVSS sense because an external sender alone cannot modify the victim socket source-filter list. The vulnerable interleaving needs a local socket owner, a shared file descriptor, or application behavior that concurrently changes the filter. HostAdminRequired is NO because standard IPv6 multicast membership and source-filter socket operations on an existing accessible interface are normally available to ordinary socket-owning users. This conclusion does not imply that an attacker can modify another process socket or interface configuration. NamespaceScopedPrivilege is UNKNOWN. No privileged capability check is identified for the core socket operation, but the supplied context does not establish whether a complete meaningful cross-principal scenario works in an attacker-created network namespace, including multicast connectivity and a victim service using source filtering. No special hardware, boot option, privileged sysctl, or prior host-admin setup is established by the patch. An existing IPv6-capable interface and multicast-capable network environment are practical prerequisites. The race is likely repeatable by a socket owner, but repeatability only reproduces inconsistent filter decisions and does not establish a stronger kernel corruption primitive. 4. Primitive and severity interpretation The exact primitive is an RCU synchronization and publication correctness failure. `ip6_mc_source()` modified `psl->sl_addr` and `psl->sl_count` in place while `inet6_mc_check()` concurrently read the same RCU-published object without a writer lock. It also could publish a replacement list before its new source entry was initialized. This is neither active structured-object UAF nor fixed stale storage. The source-filter object remains allocated during valid RCU reader execution. The unsafe behavior is observation of a partially updated live array, including torn 16-byte IPv6 addresses and temporarily duplicated or missing source entries. There is no concrete repeated release, put, free, or refcount mutation through a dangling reference. The newly added `kfree_rcu()` is the correct deferred reclamation mechanism and does not indicate that the pre-fix code had a stale post-free dereference. The demonstrated consequence is incorrect IPv6 multicast source-filter enforcement for the affected socket. A packet from an unintended source could be accepted, or a packet from an allowed source could be rejected. The practical impact depends on whether an application treats kernel multicast source filtering as a meaningful trust boundary. Speculative consequences such as kernel memory disclosure, kernel corruption, privilege escalation, cross-container impact, or arbitrary packet injection into another principals socket are not supported by the patch. In particular, a local attacker controlling only its own socket does not gain access to another process socket merely by racing its own filter updates. PrimitiveClass is NONE because no meaningful corruption, lifetime, ownership, authorization, or cross-principal security primitive is established. ImportantCandidate is NO because the issue is an RCU-visible consistency bug with packet-filtering correctness impact, not a demonstrated active-object lifetime or memory-corruption vulnerability. AutoDowngradeAllowed is YES because no unresolved Class A or Class B primitive remains after excluding unsupported application-level consequences. Likely operational severity is ordinary Moderate or lower. Manual review is still useful where IPv6 multicast source filters protect a sensitive multicast listener, especially in industrial, service-discovery, routing-control, or local trusted-network deployments. 5. One-sentence report phrase A race in IPv6 multicast source-filter updates can expose torn or inconsistent source entries to RCU readers and cause incorrect multicast packet acceptance or rejection for the affected socket. 6. Manual review recommendation MANUAL CHECK RECOMMENDED The kernel-memory-safety impact is not established, but manual review should determine whether the affected deployment uses IPv6 multicast source filtering as a meaningful application trust or packet-admission boundary. 7. Call-site confidence Call-site confidence: medium ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source() [ Upstream Commit: 2c2091e2ee93049fc513ad1e6c99d8b6c809f467 Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2c2091e2ee93049fc513ad1e6c99d8b6c809f467 Changed files: include/net/if_inet6.h net/ipv6/mcast.c Diff excerpt: Not included in this email. See the upstream URL for the full patch. Full patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2c2091e2ee93049fc513ad1e6c99d8b6c809f467 ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-98101 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98101 The original CVE announcement normally does not include a security-level estimate. In particular, it may not contain a CVSS assessment, an impact level, or enough information to determine whether the reported bug is a practically relevant security issue. One purpose of this parallel CVE list is to provide that missing technical and prioritization information. The original goal of the AL-KERNEL project was to prioritize Linux kernel CVE analysis automatically before manual review. The system can also help identify non-security issues that may be suitable for automatic closure. This report was generated by AL-KERNEL, an AI-assisted Linux kernel vulnerability analysis system developed by Alexander Larkin. The first analysis stage combines an autonomous classifier with additional LLM-based analysis. The autonomous classifier runs locally on a CPU and is based on a backpropagation neural network. Together, these mechanisms produce a technical vulnerability description, identify likely weakness types, estimate CVSS severity, and provide input for ActionableScore. Two CVSS estimates are retained because incomplete kernel vulnerability information often permits more than one defensible interpretation: Conservative CVSS vector: Not available The Best / paranoid CVSS vector: AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N The Best / paranoid CVSS score: 3.7 The conservative vector represents a lower-impact interpretation. The Best/paranoid vector intentionally represents a plausible upper-bound interpretation and should not automatically be treated as demonstrated real-world impact. CVSS may also need to be adjusted for a particular Linux deployment, because actual reachability, privileges, enabled kernel configuration, hardware, namespaces, exposed device nodes, and other environmental conditions can differ significantly between systems. A separate ActionableScore mechanism evaluates practical remediation urgency. Its analysis may include reachability, attack prerequisites, subsystem exposure, memory-corruption characteristics, denial-of-service reliability, and possible confidentiality, integrity, or privilege-escalation impact. Conservative ActionableScore: unknown Paranoid ActionableScore: 1 The final base severity is taken directly from the second tab-separated field of the AL-KERNEL classification result. ActionableScore does not replace or independently override that final AL-KERNEL decision, and if ActionableScore adjusted impact level of ALKERNEL, then you would see self-readable flags above like INCREASED_TO_HIGH_BASED_ON_ACTIONABLESCOREHIGHEREQTHAN7. For an AL-KERNEL result of MODERATE, this report uses the following additional presentation split: ActionableScore below 5 -> MODERATE REGULAR ActionableScore 5 or more -> MODERATE 7.0 The distinction between MODERATE REGULAR and MODERATE 7.0 makes it possible to identify Moderate issues that should receive manual analysis and fixes before lower-priority MODERATE REGULAR issues. In many cases, MODERATE REGULAR fixes may wait for a later rebase or routine update. There is one override in which MODERATE REGULAR becomes MODERATE 7.0 even when the ActionableScore is below 5. When the AL-KERNEL result contains the KPANIC flag, a MODERATE result is always presented as MODERATE 7.0. The KPANIC flag selected with few regexps without usage of AI at all, so it helps to detect cases when Kernel Crash happens and similar (to filter False-Negative results from the LLM usage). KPANIC indicates that a reliable kernel crash, kernel panic, or similarly serious kernel availability impact was identified by the classification workflow. AL-KERNEL base severity for this report: MODERATE KPANIC detected for this report: NO Published priority for this report (same as in Subject): MODERATE REGULAR These results are intended to support engineering triage. They are machine-generated estimates, and cases marked for manual review should be validated by a human security engineer before final disposition. For more info read docs linked from here: https://kernelcve.org/ (and you can submit you own patch there to generate such a report for non-existant CVE-id yet). Note that in many cases this AI tool selects higher severity, than real is (means you can expect Importants instead of Moderate 7.0 or Moderates 7.0 instead of regular Moderates). If you see such cases, please use reply email interface to add additional manual analyses info to this particular CVE. And please, please, let me know when you see Lows instead of Importants or Important instead of Low (because particular for such cases I need to tune this AI tool to make it better for this one and next similar). My contact email for such notifications is alexanjelausa@gmail.com (and both send reply to CVE record itself too and see "reply" button below for howto reply).