From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-89531][MODERATE 7.0] svcrdma: Reject connection when transport allocation fails Date: Fri, 11 Sep 2026 23:41:18 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-89531 X-AL-KERNEL-Priority: MODERATE 7.0 X-AL-KERNEL-Severity: MODERATE 7.0 X-AL-KERNEL-Base-Severity: MODERATE X-AL-KERNEL-KPANIC: YES X-AL-KERNEL-ActionableScore: 4 X-AL-KERNEL-ActionableScore-Lower: 3 X-AL-KERNEL-Commit: 6e21754bbf75075f3fee1cebc79f3417364235ec List-Id: CVE: CVE-2026-89531 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: svcrdma: Reject connection when transport allocation fails Commit: 6e21754bbf75075f3fee1cebc79f3417364235ec Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6e21754bbf75075f3fee1cebc79f3417364235ec Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-89531 Analysis date: Fri, 11 Sep 2026 23:41:18 -0400 ActionableScore: 4 ActionableScore lower bound: 3 Actionable bucket: Borderline / manual review recommended Manual review required: YES Summary: No one-sentence report phrase was found. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-89531 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-89531 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 7.0 Manual review required: YES A detailed explanation of the methodology and priority rules is included at the end of this message. ====================================================================== AL-KERNEL CLASSIFICATION RESULT ====================================================================== CVE-2026-89531 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-89531 CHECK WITH IMPACT FROM ORIG NN IMPORTANT Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H';*CWE-772;*CWE-401;**CWE-400;Other CVSS 'AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L';BEST CVSS score: '5.3';DESCR 'An svcrdma connection request can leak an rdma_cm_id when svc_rdma_create_xprt() fails to allocate a new transport. The handler returned success to the RDMA CM core even though the new transport was not created, so the orphaned cm_id was not destroyed. A remote RDMA peer can amplify the leak by repeatedly driving connection attempts while the server is under memory pressure. For the CVSS the PR:N is selected because the attacker does not need a local account on the target and only needs reachability to the RDMA service. The issue is network reachable only within the RDMA or storage fabric, so AV:A is more defensible than AV:N for typical deployments. Impact is denial of service through resource exhaustion. No confidentiality or integrity impact is assigned because the patch shows a leaked reference and resource exhaustion path, not a UAF, OOB access, or arbitrary write primitive.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Borderline / manual review recommended (with actual score 4) YES REMOTE SIMPLEFIX LEAK NETWORK KPANIC KPANIC LOWERED_FROM_HIGH_BASED_ON_GUESSCVSS NO NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=4 ActionableScoreLower=3 PrimitiveClass=CLASS_C RealUAF=NO HostAdminRequired=NO NamespaceScopedPrivilege=NO ImportantCandidate=NO ManualReview=RECOMMENDED AutoDowngradeAllowed=YES 1. ActionableScore * Raw conservative score: 3 * Conservative score: 3. No floor or cap applied. * Raw paranoid score: 4 * Paranoid score: 4. No floor or cap applied. * Final recommended bucket: **Borderline / manual review recommended**:: 2. Signal breakdown Conservative positive signals: * +2 Remote reachable / network-triggerable within the RDMA fabric. A remote RDMA peer can drive CONNECT_REQUEST events against an exposed svcrdma listener. * +1 Concrete persistent kernel resource/reference leak. On svc_rdma_create_xprt() allocation failure, the handler previously returned success to the CM core, leaving the new rdma_cm_id orphaned instead of destroyed. Paranoid additional signal: * +1 Resource-exhaustion availability concern. The commit explicitly states that each allocation failure under memory pressure leaks one rdma_cm_id and that a remote peer can amplify this with repeated connection attempts. Non-awarded signals: * RealUAF not awarded. The patch establishes an orphaned rdma_cm_id leak, not use-after-free. * CLASS_A or CLASS_B corruption not awarded. No controlled reclaim, arbitrary write, OOB access, stale dereference, double release, or refcount mutation through a dangling object is shown. * Confidentiality and integrity not awarded. The established impact is resource leakage and possible DoS only. * Reliable kernel crash not awarded. The demonstrated mechanism is accumulated resource leakage under allocation failure, not an immediate kernel panic. * Extra Availability not awarded in conservative scoring because host-wide exhaustion depends on sustained attempts plus memory pressure. * Race/timing penalty not applied. This is an error-return/ownership bug, not a narrow race. * Rare subsystem or hardware penalty not applied. RDMA limits exposure, but the vulnerable service is explicitly network-facing to RDMA peers once deployed. 3. Reachability analysis The attacker is a remote RDMA peer that can reach the RPC-over-RDMA svcrdma listener. No local account or host-admin-equivalent privilege on the victim is needed to send connection attempts, so HostAdminRequired=NO. The reachable scope is not the public Internet in typical deployments. It is usually an RDMA, storage, or data-center fabric. That limits practical exposure but does not remove remote peer reachability when the service is exposed. Namespace-scoped privilege is not relevant to the described trigger. The path is driven by RDMA CM connection events, not by a namespace-local capability. There is prior administrative service setup in the sense that svcrdma must be enabled and listening on an RDMA-capable system. This is treated as normal service exposure, not as an attacker privilege requirement. A material precondition is allocation failure or memory pressure, because the leak occurs when svc_rdma_create_xprt() fails. The remote peer can amplify the leak with repeated connection attempts, but the conservative score does not assume the attacker can always create the memory-pressure condition alone. No special race is required. 4. Primitive and severity interpretation The exact primitive is a missing error return that causes ownership/lifetime cleanup responsibility for rdma_cm_id to be lost. The CM core sees success for CONNECT_REQUEST and therefore does not destroy the new cm_id after transport allocation fails. This is a concrete persistent kernel reference/resource leak, not a UAF. There is no fixed stale storage access, no active structured stale-object use, no repeated release/refcount mutation, and no demonstrated memory corruption primitive. PrimitiveClass=CLASS_C because the demonstrated behavior is resource leak and possible denial of service without an independently useful corruption primitive. The demonstrated consequence is DoS through resource exhaustion. The speculative consequence would be broader host pressure if repeated connection attempts occur during memory pressure, but the patch does not support C/I impact or privilege escalation. ImportantCandidate=NO because there is no memory corruption, authorization bypass, security-boundary bypass, UAF, controlled overwrite, or unresolved lifetime mutation. The issue is still worth review due to remote adjacency and persistent kernel resource leakage. AutoDowngradeAllowed=YES because the established primitive is a constrained resource leak with no unresolved Important-grade corruption or boundary-bypass leverage. Likely operational severity is ordinary-to-borderline Moderate for RDMA-exposed systems, higher priority only where untrusted peers can reach the RDMA fabric and connection attempts can be sustained. 5. One-sentence report phrase An svcrdma CONNECT_REQUEST can leak an rdma_cm_id when transport allocation fails, allowing a remote RDMA peer to amplify resource leakage under memory pressure and potentially cause denial of service. 6. Manual review recommendation MANUAL CHECK RECOMMENDED Reason: the issue is remotely triggerable within an RDMA fabric and creates a persistent kernel resource leak, but no UAF, memory corruption, confidentiality impact, integrity impact, or privilege escalation primitive is established. 7. Call-site confidence Call-site confidence: high ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: svcrdma: Reject connection when transport allocation fails Commit: 6e21754bbf75075f3fee1cebc79f3417364235ec Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6e21754bbf75075f3fee1cebc79f3417364235ec Commit description: handle_connect_req() returns without action when svc_rdma_create_xprt() fails to allocate the new transport. The CM core returns 0 for CONNECT_REQUEST events, so it does not destroy the new rdma_cm_id. Each allocation failure under memory pressure leaks one rdma_cm_id, and a remote peer driving connection attempts can amplify this. Reject the connection by returning a non-zero status from the CM event handler, which tells the CM core to destroy the orphaned cm_id. Fixes: 377f9b2 ("rdma: SVCRDMA Core Transport Services") Cc: stable@vger.kernel.org Acked-by: Jeff Layton Link: https://patch.msgid.link/20260527-rdma-follow-on-v1-4-1b09bd87b6cd@oracle.com Signed-off-by: Chuck Lever Signed-off-by: Greg Kroah-Hartman Changed files: net/sunrpc/xprtrdma/svc_rdma_transport.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=6e21754bbf75075f3fee1cebc79f3417364235ec ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-89531 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-89531 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: AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L The Best / paranoid CVSS vector: AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H The Best / paranoid CVSS score: 5.3 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: 3 Paranoid ActionableScore: 4 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: YES Published priority for this report (same as in Subject): MODERATE 7.0 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).