[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025061814-CVE-2022-50129-dc2e@gregkh>
Date: Wed, 18 Jun 2025 13:03:14 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-50129: RDMA/srpt: Fix a use-after-free
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
RDMA/srpt: Fix a use-after-free
Change the LIO port members inside struct srpt_port from regular members
into pointers. Allocate the LIO port data structures from inside
srpt_make_tport() and free these from inside srpt_make_tport(). Keep
struct srpt_device as long as either an RDMA port or a LIO target port is
associated with it. This patch decouples the lifetime of struct srpt_port
(controlled by the RDMA core) and struct srpt_port_id (controlled by LIO).
This patch fixes the following KASAN complaint:
BUG: KASAN: use-after-free in srpt_enable_tpg+0x31/0x70 [ib_srpt]
Read of size 8 at addr ffff888141cc34b8 by task check/5093
Call Trace:
<TASK>
show_stack+0x4e/0x53
dump_stack_lvl+0x51/0x66
print_address_description.constprop.0.cold+0xea/0x41e
print_report.cold+0x90/0x205
kasan_report+0xb9/0xf0
__asan_load8+0x69/0x90
srpt_enable_tpg+0x31/0x70 [ib_srpt]
target_fabric_tpg_base_enable_store+0xe2/0x140 [target_core_mod]
configfs_write_iter+0x18b/0x210
new_sync_write+0x1f2/0x2f0
vfs_write+0x3e3/0x540
ksys_write+0xbb/0x140
__x64_sys_write+0x42/0x50
do_syscall_64+0x34/0x80
entry_SYSCALL_64_after_hwframe+0x46/0xb0
</TASK>
The Linux kernel CVE team has assigned CVE-2022-50129 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.3 with commit a42d985bd5b234da8b61347a78dc3057bf7bb94d and fixed in 5.10.137 with commit de95b52d9aabc979166aba81ccbe623aaf9c16a1
Issue introduced in 3.3 with commit a42d985bd5b234da8b61347a78dc3057bf7bb94d and fixed in 5.15.61 with commit e60d7e2462bf57273563c4e00dbfa79ee973b9e2
Issue introduced in 3.3 with commit a42d985bd5b234da8b61347a78dc3057bf7bb94d and fixed in 5.18.18 with commit 4ee8c39968a648d58b273582d4b021044a41ee5e
Issue introduced in 3.3 with commit a42d985bd5b234da8b61347a78dc3057bf7bb94d and fixed in 5.19.2 with commit 388326bb1c32fcd09371c1d494af71471ef3a04b
Issue introduced in 3.3 with commit a42d985bd5b234da8b61347a78dc3057bf7bb94d and fixed in 6.0 with commit b5605148e6ce36bb21020d49010b617693933128
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-50129
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/infiniband/ulp/srpt/ib_srpt.c
drivers/infiniband/ulp/srpt/ib_srpt.h
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/de95b52d9aabc979166aba81ccbe623aaf9c16a1
https://git.kernel.org/stable/c/e60d7e2462bf57273563c4e00dbfa79ee973b9e2
https://git.kernel.org/stable/c/4ee8c39968a648d58b273582d4b021044a41ee5e
https://git.kernel.org/stable/c/388326bb1c32fcd09371c1d494af71471ef3a04b
https://git.kernel.org/stable/c/b5605148e6ce36bb21020d49010b617693933128
Powered by blists - more mailing lists