PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-45856 Linux CVE debrief

CVE-2026-45856 is a vulnerability in the Linux kernel's RDMA/uverbs subsystem where `ib_uverbs_post_send()` fails to validate the `wqe_size` parameter from userspace before using it for memory allocation and subsequent structure access. An attacker providing a small `wqe_size` value causes out-of-bounds reads from kernel heap memory when accessing fields like `user_wr->opcode` and `user_wr->num_sge`, potentially leaking sensitive kernel information. Excessively large values trigger memory allocation warnings. The fix adds validation to ensure `wqe_size` is at least `sizeof(struct ib_uverbs_send_wr)`, matching the existing validation in `ib_uverbs_unmarshall_recv()`.

Vendor
Linux
Product
Unknown
CVSS
HIGH 7.1
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-27
Original CVE updated
2026-06-25
Advisory published
2026-05-27
Advisory updated
2026-06-25

Who should care

Organizations running Linux systems with RDMA hardware (InfiniBand, RoCE, iWARP) and unprivileged user namespaces enabled; cloud providers offering RDMA-capable instances; HPC environments utilizing kernel-based RDMA verbs interfaces.

Technical summary

The vulnerability exists in `drivers/infiniband/core/uverbs_cmd.c` in the `ib_uverbs_post_send()` function. The function receives `cmd.wqe_size` from userspace via the `struct ib_uverbs_post_send` command without validation. This value is passed directly to `kmalloc()` to allocate a buffer for unmarshalling work requests. When a small `wqe_size` (e.g., 1 byte) is provided, `kmalloc()` succeeds but subsequent field accesses to `user_wr->opcode`, `user_wr->num_sge`, and other `struct ib_uverbs_send_wr` members read beyond the allocated buffer. This constitutes an out-of-bounds read from kernel heap memory, potentially disclosing sensitive information to unprivileged userspace. The fix introduces a validation check ensuring `wqe_size >= sizeof(struct ib_uverbs_send_wr)` before allocation, consistent with the existing validation pattern in `ib_uverbs_unmarshall_recv()`.

Defensive priority

medium

Recommended defensive actions

  • Apply kernel updates containing the fix for CVE-2026-45856 when available from your Linux distribution
  • Monitor stable kernel releases for backported patches to affected versions
  • Review systems utilizing RDMA (InfiniBand, RoCE, iWARP) for potential exposure
  • Consider restricting unprivileged access to RDMA devices where feasible
  • Enable kernel memory hardening features (KASAN, KFENCE) to detect similar issues during testing

Evidence notes

The vulnerability description indicates this was discovered through syzkaller fuzzing, which reported memory allocation warnings for large `wqe_size` values. The fix adds a size validation check before `kmalloc()` in `ib_uverbs_post_send()`. Multiple stable kernel branches received backports as evidenced by eight distinct git.kernel.org stable commits.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-45856 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-45856

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-45856 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-45856

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/01c9b152647dc70dc06a4a2eff86ebb3b3c76075

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/1956f0a74ccf5dc9c3ef717f2985c3ed3400aab0

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/9b5ac1c15334d46c0dbd49d64a2257b929500163

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/9c15ec4cd4e7f57c6bbcb4e73e99290f150dd2a7

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/bef70ff9841990658610512b4a18e4a88c9b4df6

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/bf1feed1a7886af945f92890493aefd2b5c9928a

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/bf4454da8b1e712714628c0a0d6e7845bb40790a

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.