CVE-2023-53106
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
02/05/2025
Last modified:
10/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition<br />
<br />
This bug influences both st_nci_i2c_remove and st_nci_spi_remove.<br />
Take st_nci_i2c_remove as an example.<br />
<br />
In st_nci_i2c_probe, it called ndlc_probe and bound &ndlc->sm_work<br />
with llt_ndlc_sm_work.<br />
<br />
When it calls ndlc_recv or timeout handler, it will finally call<br />
schedule_work to start the work.<br />
<br />
When we call st_nci_i2c_remove to remove the driver, there<br />
may be a sequence as follows:<br />
<br />
Fix it by finishing the work before cleanup in ndlc_remove<br />
<br />
CPU0 CPU1<br />
<br />
|llt_ndlc_sm_work<br />
st_nci_i2c_remove |<br />
ndlc_remove |<br />
st_nci_remove |<br />
nci_free_device|<br />
kfree(ndev) |<br />
//free ndlc->ndev |<br />
|llt_ndlc_rcv_queue<br />
|nci_recv_frame<br />
|//use ndlc->ndev
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:*:*:*:*:*:*:*:* | 3.17 (including) | 4.14.311 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.279 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.238 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.176 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.104 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.21 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.2.8 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.3:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.3:rc2:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/2156490c4b7cacda9a18ec99929940b8376dc0e3
- https://git.kernel.org/stable/c/3405eb641dafcc8b28d174784b203c1622c121bf
- https://git.kernel.org/stable/c/43aa468df246175207a7d5d7d6d31b231f15b49c
- https://git.kernel.org/stable/c/5000fe6c27827a61d8250a7e4a1d26c3298ef4f6
- https://git.kernel.org/stable/c/5e331022b448fbc5e76f24349cd0246844dcad25
- https://git.kernel.org/stable/c/84dd9cc34014e3a3dcce0eb6d54b8a067e97676b
- https://git.kernel.org/stable/c/b0c202a8dc63008205a5d546559736507a9aae66
- https://git.kernel.org/stable/c/f589e5b56c562d99ea74e05b1c3f0eab78aa17a3



