CVE-2021-47012

RDMA/siw: Fix a use after free in siw_alloc_mr

HIGH
7.8
CVSS Score
Published: February 28, 2024 at 08:13 AM UTC
Updated: August 5, 2026 at 09:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Fix a use after free in siw_alloc_mr Our code analyzer reported a UAF. In siw_alloc_mr(), it calls siw_mr_add_mem(mr,..). In the implementation of siw_mr_add_mem(), mem is assigned to mr->mem and then mem is freed via kfree(mem) if xa_alloc_cyclic() failed. Here, mr->mem still point to a freed object. After, the execution continue up to the err_out branch of siw_alloc_mr, and the freed mr->mem is used in siw_mr_drop_mem(mr). My patch moves "mr->mem = mem" behind the if (xa_alloc_cyclic(..)<0) {} section, to avoid the uaf.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.11 ≤ v < 5.11.215.12 ≤ v < 5.12.45.3 ≤ v < 5.10.375.3 ≤ v < 5.11.215.3 ≤ v < 5.12.45.3 ≤ v < 5.135.3 ≤ v < 5.4.1195.5 ≤ v < 5.10.372251334dcac9eb337575d8767e2a6a7e81848f7f5.3
Vendor states this is fixed in 3093ee182f01689b89e9f8797b321603e5de4f63 (fixed)
Vendor states this is fixed in 30b9e92d0b5e5d5dc1101ab856c17009537cbca4 (fixed)
Vendor states this is fixed in 3e22b88e02c194f6c80867abfef5cc09383461f4 (fixed)
Vendor states this is fixed in 608a4b90ece039940e9425ee2b39c8beff27e00c (fixed)
Vendor states this is fixed in ad9ce7188432650469a6c7625bf479f5ed0b6155 (fixed)
Vendor states this is fixed in 5.10.37 (unaffected)
Vendor states this is fixed in 5.11.21 (unaffected)
Vendor states this is fixed in 5.12.4 (unaffected)
Vendor states this is fixed in 5.13 (unaffected)
Vendor states this is fixed in 5.3 (unaffected)
Vendor states this is fixed in 5.4.119 (unaffected)

References (5)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3093ee182f01689b89e9f8797b321603e5de4f63
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/30b9e92d0b5e5d5dc1101ab856c17009537cbca4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3e22b88e02c194f6c80867abfef5cc09383461f4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/608a4b90ece039940e9425ee2b39c8beff27e00c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ad9ce7188432650469a6c7625bf479f5ed0b6155

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card