CVE-2026-45856

RDMA/uverbs: Validate wqe_size before using it in ib_uverbs_post_send

State
Published
Severity
7.1 High
Published
May 27, 2026
Updated
Oct 19, 2026
Reserved
May 13, 2026

Read the record on cve.org

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).

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • c3bea3d2dc5358e05541527283279102383b0231 to before 9c15ec4cd4e7f57c6bbcb4e73e99290f150dd2a7Affected
  • c3bea3d2dc5358e05541527283279102383b0231 to before 9b5ac1c15334d46c0dbd49d64a2257b929500163Affected
  • c3bea3d2dc5358e05541527283279102383b0231 to before 01c9b152647dc70dc06a4a2eff86ebb3b3c76075Affected
  • c3bea3d2dc5358e05541527283279102383b0231 to before bf1feed1a7886af945f92890493aefd2b5c9928aAffected
  • c3bea3d2dc5358e05541527283279102383b0231 to before d533425ac1f2925b4fc3e4ed9b9d72362cb23475Affected
  • c3bea3d2dc5358e05541527283279102383b0231 to before bf4454da8b1e712714628c0a0d6e7845bb40790aAffected
  • c3bea3d2dc5358e05541527283279102383b0231 to before bef70ff9841990658610512b4a18e4a88c9b4df6Affected
  • c3bea3d2dc5358e05541527283279102383b0231 to before 1956f0a74ccf5dc9c3ef717f2985c3ed3400aab0Affected
LinuxLinux
  • 5.0Affected
  • before 5.0Not affected
  • 5.10.252 through 5.10.*Not affected
  • 5.15.202 through 5.15.*Not affected
  • 6.1.165 through 6.1.*Not affected
  • 6.6.128 through 6.6.*Not affected
  • 6.12.75 through 6.12.*Not affected
  • 6.18.14 through 6.18.*Not affected
  • 6.19.4 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.