From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-90307][MODERATE 7.0] RDMA/srp: fix heap information leak on a truncated SRP_CRED_REQ [ Upstream Date: Thu, 17 Sep 2026 13:48:36 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-90307 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: 6 X-AL-KERNEL-ActionableScore-Lower: 5 X-AL-KERNEL-Commit: 3f7fdf561f1ec3b523c39708df00bd808671668d List-Id: CVE: CVE-2026-90307 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: RDMA/srp: fix heap information leak on a truncated SRP_CRED_REQ [ Upstream Commit: 3f7fdf561f1ec3b523c39708df00bd808671668d Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3f7fdf561f1ec3b523c39708df00bd808671668d Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90307 Analysis date: Thu, 17 Sep 2026 13:48:36 -0400 ActionableScore: 6 ActionableScore lower bound: 5 Actionable bucket: Actionable Moderate / Strong Important candidate requiring manual review Manual review required: YES Summary: No one-sentence report phrase was found. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-90307 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90307 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-90307 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-90307 CHECK WITH IMPACT FROM ORIG NN LOW Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N';CWE-125;CWE-126;*CWE-200;Other CVSS 'AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N';BEST CVSS score: '6.5';DESCR 'An out-of-bounds heap read in the RDMA/SRP initiator path can occur when srp_process_cred_req or srp_process_aer_req parses a truncated SRP_CRED_REQ or SRP_AER_REQ without verifying the received byte_len. A malicious or compromised SRP target can advertise a very small max_ti_iu_len and send an 8 byte SRP_CRED_REQ, causing the initiator to read req tag beyond the receive buffer and copy leaked heap bytes into the SRP_CRED_RSP sent back to the target. SRP_AER_REQ has a similar issue and can also read req lun from an insufficient buffer. For the CVSS the PR:N because the attacker only needs to control or compromise an SRP target reachable by the initiator and does not need local privileges on the initiator. The issue is adjacent network reachable in typical RDMA/SRP storage fabrics rather than broadly Internet reachable. Impact is information disclosure from kernel heap memory. No write primitive or direct privilege escalation path is shown by the code context.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Actionable Moderate / Strong Important candidate requiring manual review (with actual score 6) YES READ KASAN OOB LEAK NETWORK LINUS KPANIC KPANIC INCREASED_TO_HIGH_BASED_ON_GUESSCVSS DECREASED_TO_MODERATE7_BASED_ON_FALSEPOSCHECKOFKP NO NO checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=6 ActionableScoreLower=5 PrimitiveClass=CLASS_A RealUAF=NO HostAdminRequired=NO NamespaceScopedPrivilege=NO ImportantCandidate=YES ManualReview=REQUIRED AutoDowngradeAllowed=NO 1. ActionableScore * Raw conservative score: 5 * Conservative score: 5. No floor or cap applied. * Raw paranoid score: 6 * Paranoid score: 6. No floor or cap applied. * Final recommended bucket: **Actionable Moderate / Strong Important candidate requiring manual review**:: 2. Signal breakdown Positive signals: * +2: Fabric or network protocol reachable from a malicious or compromised SRP target. The target can send truncated SRP_CRED_REQ or SRP_AER_REQ messages to the initiator over the SRP/RDMA storage connection. * +1: Concrete out-of-bounds heap read with disclosure path. The code reads req->tag and in the AER case also req->lun from beyond the received buffer. * +1: Confidentiality impact is demonstrated. The leaked req->tag bytes are copied into SRP_CRED_RSP or SRP_AER_RSP and sent back to the target. * +1: Attacker-influenced parsing and allocation boundary. max_ti_iu_len comes from the login response and can place the receive buffer in a small slab cache such as kmalloc-8, making the read entirely outside the object. * Paranoid additional +1: Repeatable kernel heap disclosure concern. The leak is small per response but may be repeated and comes from adjacent slab memory, so a higher actionable triage score is justified for manual review. Non-awarded signals: * RealUAF not awarded. The bug is an out-of-bounds read, not a stale lifetime or use-after-free issue. * Arbitrary write not demonstrated. * Integrity impact not awarded. The patch shows a read and response-copy leak, not unauthorized modification. * Strong LPE or controlled reclaim not awarded. * Reliable kernel crash not awarded as primary impact. KASAN reports slab-out-of-bounds, but without KASAN the described consequence is disclosure of adjacent heap bytes. * No rare hardware penalty applied. RDMA/SRP is specialized, but the vulnerable path is reachable in its intended storage-fabric deployment. 3. Reachability analysis The evaluated attacker is a malicious or compromised SRP target that the initiator connects to. The attacker does not need local privileges on the initiator, so HostAdminRequired=NO. The issue is not namespace-scoped. NamespaceScopedPrivilege=NO. The complete trigger requires an SRP/RDMA storage relationship or access to the storage fabric where the initiator communicates with the target. This is adjacent-network or storage-fabric exposure rather than broad public Internet exposure. No prior host-admin action by the attacker is required once the victim initiator connects to the attacker-controlled or compromised target. No race or narrow timing requirement is present. The trigger is a malformed or truncated protocol message and is repeatable. 4. Primitive and severity interpretation The exact primitive is a kernel heap out-of-bounds read with an attacker-visible disclosure path. srp_process_cred_req() and srp_process_aer_req() parsed fixed-size request fields without verifying wc->byte_len. A short receive buffer can make req->tag and req->lun reads go beyond the allocated object. This is not active structured UAF and not fixed stale storage. It is a read-only OOB disclosure primitive. PrimitiveClass=CLASS_A because the patch establishes actual kernel heap bytes being copied into a protocol response visible to the attacker-controlled target. The leak is limited to 8 bytes per response for the CRED_REQ tag case, but it is concrete, attacker-triggerable, and repeatable. Demonstrated consequence is kernel heap information disclosure. Speculative consequences such as privilege escalation are not scored because no write primitive, controlled reclaim, or direct LPE chain is shown. ImportantCandidate=YES because a concrete kernel heap disclosure primitive across an SRP/RDMA trust boundary should not be automatically downgraded. AutoDowngradeAllowed=NO because automatically closing this as ordinary Moderate would lose a real disclosure primitive that may be exposure-sensitive in storage fabrics. Likely operational severity is actionable Moderate, with Strong Important review warranted if deployed SRP targets are reachable by untrusted or semi-trusted fabric peers. 5. One-sentence report phrase A malicious SRP target can send truncated SRP_CRED_REQ or SRP_AER_REQ messages that make the Linux RDMA/SRP initiator read beyond the receive buffer and return leaked kernel heap bytes in the response. 6. Manual review recommendation MANUAL CHECK REQUIRED Reason: this is a concrete adjacent-network reachable kernel heap information leak with bytes copied back to the attacker-controlled SRP target. 7. Call-site confidence Call-site confidence: high ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: RDMA/srp: fix heap information leak on a truncated SRP_CRED_REQ [ Upstream Commit: 3f7fdf561f1ec3b523c39708df00bd808671668d Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3f7fdf561f1ec3b523c39708df00bd808671668d Changed files: drivers/infiniband/ulp/srp/ib_srp.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=3f7fdf561f1ec3b523c39708df00bd808671668d ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-90307 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-90307 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:L/PR:N/UI:N/S:U/C:L/I:N/A:N The Best / paranoid CVSS vector: AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N The Best / paranoid CVSS score: 6.5 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: 5 Paranoid ActionableScore: 6 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).