CVE-2021-47026

RDMA/rtrs-clt: destroy sysfs after removing session from active list

published February 28, 2024

CVSS
—
EPSS
0%
Percentile
14.0
In the wild
Unconfirmed
What it is

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

RDMA/rtrs-clt: destroy sysfs after removing session from active list

A session can be removed dynamically by sysfs interface "remove_path" that

eventually calls rtrs_clt_remove_path_from_sysfs function. The current

rtrs_clt_remove_path_from_sysfs first removes the sysfs interfaces and

frees sess->stats object. Second it removes the session from the active

list.

Therefore some functions could access non-connected session and access the

freed sess->stats object even-if they check the session status before

accessing the session.

For instance rtrs_clt_request and get_next_path_min_inflight check the

session status and try to send IO to the session. The session status

could be changed when they are trying to send IO but they could not catch

the change and update the statistics information in sess->stats object,

and generate use-after-free problem.

(see: "RDMA/rtrs-clt: Check state of the rtrs_clt_sess before reading its

stats")

This patch changes the rtrs_clt_remove_path_from_sysfs to remove the

session from the active session list and then destroy the sysfs

interfaces.

Each function still should check the session status because closing or

error recovery paths can change the status.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00238 · 14.0th percentile
Published
2024-02-28T08:13Z
EPSS history
Timeline
  • 28 FEB 08:13Z
    RDMA/rtrs-clt: destroy sysfs after removing session from active list
    cvelistv5