CVEvulnerability

CVE-2026-31509

5.5 MEDIUM Published 2026-04-22 Modified 2026-06-17 Official page ↗
Status
Analyzed
Published
2026-04-22
Last modified
2026-06-17
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-667

Description

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix circular locking dependency in nci_close_device nci_close_device() flushes rx_wq and tx_wq while holding req_lock. This causes a circular locking dependency because nci_rx_work() running on rx_wq can end up taking req_lock too: nci_rx_work -> nci_rx_data_packet -> nci_data_exchange_complete -> __sk_destruct -> rawsock_destruct -> nfc_deactivate_target -> nci_deactivate_target -> nci_request -> mutex_lock(&ndev->req_lock) Move the flush of rx_wq after req_lock has been released. This should safe (I think) because NCI_UP has already been cleared and the transport is closed, so the work will see it and return -ENETDOWN. NIPA has been hitting this running the nci selftest with a debug kernel on roughly 4% of the runs.

Affected configurations

• linux linux kernel (>= 3.2.1 < 5.10.253) • linux linux kernel (>= 5.11 < 5.15.203) • linux linux kernel (>= 5.16 < 6.1.168) • linux linux kernel (>= 6.2 < 6.6.131) • linux linux kernel (>= 6.7 < 6.12.80) • linux linux kernel (>= 6.13 < 6.18.21) • linux linux kernel (>= 6.19 < 6.19.11) • linux linux kernel 3.2 • linux linux kernel 7.0

Related

Weakness · CWE (1)

  • CWE-667 Improper Locking weakness

References