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

RDMA/bnxt_re: zero shared page before exposing to userspace

bnxt_re_alloc_ucontext() allocates uctx->shpg via
__get_free_page(GFP_KERNEL). The buddy allocator does not zero pages
without __GFP_ZERO, so the page contains stale kernel data from
whatever object most recently freed it.

The page is then mapped into userspace via vm_insert_page() under
BNXT_RE_MMAP_SH_PAGE in bnxt_re_mmap(). The driver only ever writes
4 bytes (a u32 AVID) at offset BNXT_RE_AVID_OFFT (0x10) inside
bnxt_re_create_ah(); the remaining 4092 bytes of the page are exposed
to userspace unsanitised, leaking kernel memory contents.

Any user with access to /dev/infiniband/uverbsX on a host with a
bnxt_re device (typically rdma group membership) can read this data
via a single mmap() at pgoff 0 after IB_USER_VERBS_CMD_GET_CONTEXT.

Other shared pages in the same file already use get_zeroed_page()
correctly:

drivers/infiniband/hw/bnxt_re/ib_verbs.c
srq->uctx_srq_page = (void *)get_zeroed_page(GFP_KERNEL);
cq->uctx_cq_page = (void *)get_zeroed_page(GFP_KERNEL);

uctx->shpg is the only outlier. Bring it in line with the existing
convention by switching to get_zeroed_page().
Published: 2026-08-22
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability occurs in the Linux kernel’s bnxt_re RDMA driver when allocating a shared page for a user context. The page is obtained with __get_free_page without the __GFP_ZERO flag, leaving it populated with stale data from the last kernel object that freed the page. The driver then maps this page into userspace via vm_insert_page(), but only writes a 4‑byte AVID field, leaving the remaining 4092 bytes of the page exposed. Consequently, any user with access to /dev/infiniband/uverbsX can read kernel memory contents through a single mmap() call. The exploit achieves a confidentiality breach by leaking arbitrary kernel data to the attacker, but does not directly allow code execution or denial of service.

Affected Systems

The flaw affects Linux kernel builds that include the bnxt_re RDMA driver. No specific kernel version is listed in the data, but the issue was addressed in commits referenced on the kernel git site (e.g., 53c97e9, 9128c24, etc.). Systems using a bnxt_re device that expose /dev/infiniband/uverbsX to rdma group users are impacted.

Risk and Exploitability

The CVSS score is not provided, and EPSS is unavailable, making the exact exploitation probability unclear. However, the weakness can be exercised by any user who already has rdma group membership and can perform the standard IB_USER_VERBS_CMD_GET_CONTEXT followed by a mmap() of the shared page. The vulnerability is not listed in CISA's KEV catalog, indicating no known public exploitation at this time. The flaw represents a serious information disclosure risk that should be mitigated as soon as a patched kernel is available.

Generated by OpenCVE AI on August 22, 2026 at 15:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release containing the bnxt_re patch that changes the allocation to get_zeroed_page
  • If a kernel upgrade is not immediately feasible, restrict access to /dev/infiniband/uverbsX to trusted users only, ensuring that only administrators or services with the rdma group membership can use the device
  • Consider disabling the bnxt_re RDMA driver on systems that do not require RDMA functionality until the patch is applied

Generated by OpenCVE AI on August 22, 2026 at 15:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-200

Sat, 22 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: RDMA/bnxt_re: zero shared page before exposing to userspace bnxt_re_alloc_ucontext() allocates uctx->shpg via __get_free_page(GFP_KERNEL). The buddy allocator does not zero pages without __GFP_ZERO, so the page contains stale kernel data from whatever object most recently freed it. The page is then mapped into userspace via vm_insert_page() under BNXT_RE_MMAP_SH_PAGE in bnxt_re_mmap(). The driver only ever writes 4 bytes (a u32 AVID) at offset BNXT_RE_AVID_OFFT (0x10) inside bnxt_re_create_ah(); the remaining 4092 bytes of the page are exposed to userspace unsanitised, leaking kernel memory contents. Any user with access to /dev/infiniband/uverbsX on a host with a bnxt_re device (typically rdma group membership) can read this data via a single mmap() at pgoff 0 after IB_USER_VERBS_CMD_GET_CONTEXT. Other shared pages in the same file already use get_zeroed_page() correctly: drivers/infiniband/hw/bnxt_re/ib_verbs.c srq->uctx_srq_page = (void *)get_zeroed_page(GFP_KERNEL); cq->uctx_cq_page = (void *)get_zeroed_page(GFP_KERNEL); uctx->shpg is the only outlier. Bring it in line with the existing convention by switching to get_zeroed_page().
Title RDMA/bnxt_re: zero shared page before exposing to userspace
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-08-22T14:28:07.988Z

Reserved: 2026-08-15T05:44:03.918Z

Link: CVE-2026-74584

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T15:16:21.230

Modified: 2026-08-22T15:16:21.230

Link: CVE-2026-74584

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T15:30:05Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor