From mboxrd@z Thu Jan 1 00:00:00 1970 From: AL-KERNEL To: kernel-cve@kernelcve.org Subject: [CVE-2026-46114][MODERATE 7.0] RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads Date: Thu, 28 May 2026 14:39:13 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AL-KERNEL-CVE: CVE-2026-46114 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: 539cabb7b2d8ba70f55bba91db55faef11c2a6d7 List-Id: CVE: CVE-2026-46114 Priority: MODERATE 7.0 AL-KERNEL base severity: MODERATE KPANIC flag: YES Patch: RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads Commit: 539cabb7b2d8ba70f55bba91db55faef11c2a6d7 Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=539cabb7b2d8ba70f55bba91db55faef11c2a6d7 Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-46114 Analysis date: Thu, 28 May 2026 14:39:13 -0400 ActionableScore: 6 ActionableScore lower bound: 5 Actionable bucket: Actionable Moderate at minimum Manual review required: YES Summary: A remote RDMA initiator can send a malformed zero length RXE ATOMIC_WRITE request that makes the responder read past the logical packet payload and copy kernel tailroom bytes into attacker controlled memory. ====================================================================== ABOUT THIS REPORT ====================================================================== The original Linux kernel CVE announcement for CVE-2026-46114 is available here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-46114 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-46114 MODERATE CHECK Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L';CWE-125;*CWE-200;*CWE-20;Other CVSS 'AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N';BEST CVSS score: '8.2';DESCR 'Soft RoCE RXE accepted an ATOMIC_WRITE request with a zero byte logical payload even though atomic_write_reply() always reads 8 bytes from payload_addr(pkt). A remote RDMA initiator can send this malformed request and make the responder read past the logical packet payload into skb head tailroom, then copy the leaked bytes into the attacker controlled MR through the atomic write response path. For the CVSS the PR:N is used because the attacker needs RDMA network reachability to an RXE responder, not a local account on the victim. The issue is network reachable when Soft RoCE RXE is configured and the relevant RDMA QP or responder path is exposed. Impact is high confidentiality loss because repeated probes can leak kernel tailroom bytes including kernel strings or pointer fragments. No victim memory write primitive or direct privilege escalation is shown.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Actionable Moderate at minimum (with actual score 6) MAYBE WRITE OOB LEAK NETWORK SKB KPANIC PACKET KPANIC DECREASED_TO_MODERATE70_BASED_ON_ACTIONABLESCORELOWERTHAN7 - - checked ====================================================================== ACTIONABLESCORE ANALYSIS ====================================================================== ActionableScore=6 ActionableScoreLower=5 ## 1. ActionableScore * Conservative score: **5** * Paranoid score: **6** * Final recommended bucket: **Actionable Moderate at minimum**:: ## 2. Signal breakdown * Remote reachable / network-triggerable: **+2**. A remote RDMA initiator can trigger the RXE responder path when Soft RoCE RXE is configured and reachable. * Confidentiality impact plausible: **+1**. The commit explicitly describes kernel tailroom bytes being copied into the attacker controlled MR. * Practical exploit chain demonstrated: **+1**. The patch description gives a concrete path: zero length ATOMIC_WRITE -> 8 byte unchecked read -> copied into attacker MR. * Common protocol receive path within configured subsystem: **+1**. This is a network receive path in the RXE RDMA responder, though not a default Internet exposed path. * Availability impact, paranoid: **+1**. Malformed RDMA requests may disrupt the responder path, but the primary demonstrated impact is disclosure. * Weak read-only OOB: **+0**. This is an OOB read, not OOB write, UAF, double-free, or arbitrary write. * No direct LPE signal: **+0**. The patch does not show victim memory overwrite or privilege escalation. ## 3. Reachability analysis The attacker needs RDMA network reachability to a Soft RoCE RXE responder and a reachable relevant QP or responder path. No local account on the victim is required. The issue is not broadly Internet reachable by default because RXE must be configured and exposed, but once configured the trigger is remote protocol input. Namespaces can matter if RXE devices or RDMA networking are exposed to containers, but the main attack model is remote RDMA initiator to RXE responder. ## 4. Severity interpretation This is **Actionable Moderate**, close to Important in environments where RXE is exposed to untrusted networks. The realistic evidence is strong for kernel information disclosure because leaked bytes are written into attacker controlled RDMA memory. It is not a proven LPE or memory corruption write bug, so it should not be treated as code execution without further evidence. ## 5. One-sentence report phrase A remote RDMA initiator can send a malformed zero length RXE ATOMIC_WRITE request that makes the responder read past the logical packet payload and copy kernel tailroom bytes into attacker controlled memory. ## 6. Manual review recommendation **MANUAL CHECK REQUIRED** Manual review is required because this is a network-reachable RDMA RXE kernel information leak with a demonstrated exfiltration path, including reported kernel strings and pointer fragments. ====================================================================== UPSTREAM PATCH SUMMARY ====================================================================== Patch: RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads Commit: 539cabb7b2d8ba70f55bba91db55faef11c2a6d7 Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=539cabb7b2d8ba70f55bba91db55faef11c2a6d7 Commit description: atomic_write_reply() at drivers/infiniband/sw/rxe/rxe_resp.c unconditionally dereferences 8 bytes at payload_addr(pkt): value = *(u64 *)payload_addr(pkt); check_rkey() previously accepted an ATOMIC_WRITE request with pktlen == resid == 0 because the length validation only compared pktlen against resid. A remote initiator that sets the RETH length to 0 therefore reaches atomic_write_reply() with a zero-byte logical payload, and the responder reads sizeof(u64) bytes from past the logical end of the packet into skb->head tailroom, then writes those 8 bytes into the attacker's MR via rxe_mr_do_atomic_write(). That is a remote disclosure of 4 bytes of kernel tailroom per probe (the other 4 bytes are the packet's own trailing ICRC). IBA oA19-28 defines ATOMIC_WRITE as exactly 8 bytes. Anything else is protocol-invalid. Hoist a strict length check into check_rkey() so the responder never reaches the unchecked dereference, and keep the existing WRITE-family length logic for the normal RDMA WRITE path. Reproduced on mainline with an unmodified rxe driver: a sustained zero-length ATOMIC_WRITE probe repeatedly leaks adjacent skb head-buffer bytes into the attacker's MR, including recognisable kernel strings and partial kernel-direct-map pointer words. With this patch applied the responder rejects the PDU and the MR stays all-zero. Cc: stable@vger.kernel.org Fixes: 034e285 ("RDMA/rxe: Make responder support atomic write on RC service") Link: https://patch.msgid.link/r/20260418162141.3610201-1-michael.bommarito@gmail.com Assisted-by: Claude:claude-opus-4-7 Signed-off-by: Michael Bommarito Reviewed-by: Zhu Yanjun Signed-off-by: Jason Gunthorpe Signed-off-by: Greg Kroah-Hartman Changed files: drivers/infiniband/sw/rxe/rxe_resp.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=539cabb7b2d8ba70f55bba91db55faef11c2a6d7 ====================================================================== DETAILED REPORT METHODOLOGY ====================================================================== The original Linux kernel CVE announcement for CVE-2026-46114 can be found here: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-46114 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:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N The Best / paranoid CVSS vector: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L The Best / paranoid CVSS score: 8.2 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).