CVE-2023-53106

nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition

published May 2, 2025

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

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

nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition

This bug influences both st_nci_i2c_remove and st_nci_spi_remove.

Take st_nci_i2c_remove as an example.

In st_nci_i2c_probe, it called ndlc_probe and bound &ndlc->sm_work

with llt_ndlc_sm_work.

When it calls ndlc_recv or timeout handler, it will finally call

schedule_work to start the work.

When we call st_nci_i2c_remove to remove the driver, there

may be a sequence as follows:

Fix it by finishing the work before cleanup in ndlc_remove

CPU0 CPU1

|llt_ndlc_sm_work

st_nci_i2c_remove |

ndlc_remove |

st_nci_remove |

nci_free_device|

kfree(ndev) |

//free ndlc->ndev |

|llt_ndlc_rcv_queue

|nci_recv_frame

|//use ndlc->ndev

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00207 · 10.3th percentile
Published
2025-05-02T15:55Z
EPSS history
Timeline
  • 02 MAY 15:55Z
    nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition
    cvelistv5