CVE intelligence and bounded remediation

CVE-2021-47391 — Linux Linux Kernel security vulnerability

High CVSS 7.8

In the Linux kernel, the following vulnerability has been resolved: RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests The FSM can run in a circle allowing rdma_resolve_ip() to be called twice on the same id_priv. While this cannot happen without going through the work, it violates the invariant that the same address resolution background request cannot be active twice. CPU 1 CPU 2 rdma_resolve_addr(): RDMA_CM_IDLE -> RDMA_CM_ADDR_QUERY rdma_resolve_ip(addr_handler) #1 process_one_req(): for #1 addr_handler(): RDMA_CM_ADDR_QUERY -> RDMA_CM_ADDR_BOUND mutex_unlock(&id_priv->handler_mutex); [.. handler still running ..] rdma_resolve_addr(): RDMA_CM_ADDR_BOUND -> RDMA_CM_ADDR_QUERY rdma_resolve_ip(addr_handler) !! two requests are now on the req_list rdma_destroy_id(): destroy_id_handler_unlock(): _destroy_id(): cma_cancel_operation(): rdma_addr_cancel() // process_one_req() self removes it spin_lock_bh(&lock); cancel_delayed_work(&req->work); if (!list_empty(&req->list)) == true ! rdma_addr_cancel() returns after process_on_req #1 is done kfree(id_priv) process_one_req(): for #2 addr_handler(): mutex_lock(&id_priv->handler_mutex); !! Use after free on id_priv r…

Severity
High
CVSS
7.8 (3.1)
Published
2024-05-21
CISA KEV
Not currently listed
Ecosystem
linux/kernel
Weaknesses
CWE-416

Affected products

  • linux / linux_kernel
  • linux / linux_kernel / 5.15

Showing 2 representative product identities from 5 source matches. Confirm exact affected versions with the linked vendor and NVD evidence.

Matched remediation archetype

Use-after-free, double free, and expired resource use

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Trace ownership, references, callbacks, asynchronous tasks, and teardown paths around the affected object or resource.
  • Identify reachable inputs and timing or state transitions that can release the object while references remain.
  • Confirm affected builds, allocators, feature flags, architectures, and process privileges.

Remediate safely

  • Apply the maintained ownership or lifetime fix and rebuild all artifacts containing the affected native code.
  • Use explicit ownership, safe reference management, cancellation and join semantics, and idempotent teardown.
  • Add deterministic lifetime tests plus isolated sanitizer and concurrency coverage for shutdown and error paths.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.