Description
In the Linux kernel, the following vulnerability has been resolved:

RDMA/uverbs: Validate wqe_size before using it in ib_uverbs_post_send

ib_uverbs_post_send() uses cmd.wqe_size from userspace without any
validation before passing it to kmalloc() and using the allocated
buffer as struct ib_uverbs_send_wr.

If a user provides a small wqe_size value (e.g., 1), kmalloc() will
succeed, but subsequent accesses to user_wr->opcode, user_wr->num_sge,
and other fields will read beyond the allocated buffer, resulting in
an out-of-bounds read from kernel heap memory. This could potentially
leak sensitive kernel information to userspace.

Additionally, providing an excessively large wqe_size can trigger a
WARNING in the memory allocation path, as reported by syzkaller.

This is inconsistent with ib_uverbs_unmarshall_recv() which properly
validates that wqe_size >= sizeof(struct ib_uverbs_recv_wr) before
proceeding.

Add the same validation for ib_uverbs_post_send() to ensure wqe_size
is at least sizeof(struct ib_uverbs_send_wr).
Published: 2026-05-27
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel RDMA uverbs subsystem, the command ib_uverbs_post_send accepts a user‑supplied wqe_size and passes it directly to kmalloc before using the allocated memory as a struct ib_uverbs_send_wr. If the size is too small, later reads of fields such as opcode or num_sge go beyond the allocated region, causing an out‑of‑bounds read from kernel heap memory. This can leak arbitrary kernel data to userspace, revealing secrets such as passwords, cryptographic keys, or other sensitive information. The kernel also emits a warning when wqe_size is excessively large, a symptom of potential misuse identified by automated testing. The same validation that exists in ib_uverbs_unmarshall_recv() is missing here, leading to a serious information‑disclosure flaw.

Affected Systems

Affects the Linux kernel, specifically the RDMA uverbs driver. No specific kernel versions are listed; the issue has been fixed in recent commits (e.g., 01c9b152). Any system that includes the affected code and interacts with RDMA devices may be vulnerable.

Risk and Exploitability

The flaw is local; an attacker must be able to run a userspace program that invokes the RDMA uverbs interface on the same host. Based on the description, the likely attack vector is through a local userspace program. Because the vulnerability leaks kernel‑heap data, its impact is significant, but no remote code execution or denial‑of‑service has been reported. The EPSS score is not available and the issue is not in the CISA KEV catalog, so the likelihood of exploitation is unknown, yet the potential for information disclosure makes it a high‑severity concern. Applying the kernel patch eliminates the root cause.

Generated by OpenCVE AI on May 27, 2026 at 16:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to the latest stable release that includes the commit correcting the wqe_size validation.
  • Reboot or restart the RDMA subsystem to load the updated kernel and uverbs modules.
  • Restrict access to the RDMA uverbs device (e.g., /dev/rdma/uverbs) so that only trusted users can interact with it, reducing the attack surface.

Generated by OpenCVE AI on May 27, 2026 at 16:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 27 May 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-805

Wed, 27 May 2026 14:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: RDMA/uverbs: Validate wqe_size before using it in ib_uverbs_post_send ib_uverbs_post_send() uses cmd.wqe_size from userspace without any validation before passing it to kmalloc() and using the allocated buffer as struct ib_uverbs_send_wr. If a user provides a small wqe_size value (e.g., 1), kmalloc() will succeed, but subsequent accesses to user_wr->opcode, user_wr->num_sge, and other fields will read beyond the allocated buffer, resulting in an out-of-bounds read from kernel heap memory. This could potentially leak sensitive kernel information to userspace. Additionally, providing an excessively large wqe_size can trigger a WARNING in the memory allocation path, as reported by syzkaller. This is inconsistent with ib_uverbs_unmarshall_recv() which properly validates that wqe_size >= sizeof(struct ib_uverbs_recv_wr) before proceeding. Add the same validation for ib_uverbs_post_send() to ensure wqe_size is at least sizeof(struct ib_uverbs_send_wr).
Title RDMA/uverbs: Validate wqe_size before using it in ib_uverbs_post_send
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-05-27T12:15:33.209Z

Reserved: 2026-05-13T15:03:33.079Z

Link: CVE-2026-45856

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-05-27T14:16:57.670

Modified: 2026-05-27T14:48:31.480

Link: CVE-2026-45856

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-27T17:00:17Z

Weaknesses