CVE-2024-57984
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
27/02/2025
Last modified:
24/03/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
i3c: dw: Fix use-after-free in dw_i3c_master driver due to race condition<br />
<br />
In dw_i3c_common_probe, &master->hj_work is bound with<br />
dw_i3c_hj_work. And dw_i3c_master_irq_handler can call<br />
dw_i3c_master_irq_handle_ibis function to start the work.<br />
<br />
If we remove the module which will call dw_i3c_common_remove to<br />
make cleanup, it will free master->base through i3c_master_unregister<br />
while the work mentioned above will be used. The sequence of operations<br />
that may lead to a UAF bug is as follows:<br />
<br />
CPU0 CPU1<br />
<br />
| dw_i3c_hj_work<br />
dw_i3c_common_remove |<br />
i3c_master_unregister(&master->base) |<br />
device_unregister(&master->dev) |<br />
device_release |<br />
//free master->base |<br />
| i3c_master_do_daa(&master->base)<br />
| //use master->base<br />
<br />
Fix it by ensuring that the work is canceled before proceeding with<br />
the cleanup in dw_i3c_common_remove.
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.0 (including) | 6.6.76 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.13 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.13.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page