cveboard RSS feed

CVE-2026-90224

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2026
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

nfc: nci: fix double completion race in nci_data_exchange_complete

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix double completion race in nci_data_exchange_complete nci_close_device() and nci_rx_work can both call nci_data_exchange_complete() concurrently. After commit 4527025d440ce8 ("nfc: nci: fix circular locking dependency in nci_close_device") moved flush_workqueue(ndev->rx_wq) after mutex_unlock(&ndev->req_lock), rx_work is no longer serialized with the explicit completion call in the close path. Both callers read the non-NULL callback pointer and invoke rawsock_data_exchange_complete(), which calls sock_put() -- but only one sock_hold() was taken, so the second sock_put() underflows the refcount and frees the socket while it is still in use. Replace the bare clear_bit(NCI_DATA_EXCHANGE) with test_and_clear_bit() so that only the first caller proceeds to invoke the callback.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
7ed00a3edc8597fe2333f524401e2889aa1b5edfaffectedgit3f075832734005310740d148d1cf1c1e792ebdcaUnavailableNone listed
5eef9ebec7f5738f12cadede3545c05b34bf5ac3affectedgit588ccd19a6e69eca72d54608c3ab3b45709b2305UnavailableNone listed
ca54e904a071aa65ef3ad46ba42d51aaac6b73b4affectedgitcf646a9f5554bc07d6ccb59c327812b3a0c6a368UnavailableNone listed
eb435d150ca74b4d40f77f1a2266f3636ed64a79affectedgit9030a1bbe2c6b1e3e54cef462d159b5248f09fd2UnavailableNone listed
1edc12d2bbcb7a8d0f1088e6fccb9d8c01bb1289affectedgitbfdf412208fea7fc0d5b32d68a35b25261917393UnavailableNone listed
d89b74bf08f067b55c03d7f999ba0a0e73177eb3affectedgitba4c776af3dc21ed04e315e6545e99703bb1b53aUnavailableNone listed
4527025d440ce84bf56e75ce1df2e84cb8178616affectedgitee08414d78b851e3d1856d6e4d631939b01a1bbeUnavailableNone listed
4527025d440ce84bf56e75ce1df2e84cb8178616affectedgit8265a626cc14a48e46e6dc8c47667e72b4232ac2UnavailableNone listed
09143c0e8f3b03517e6233aad42f45c794d8df8eaffectedgitUnavailableUnavailableNone listed
5.10.253affectedsemver5.10.270UnavailableNone listed
5.15.203affectedsemver5.15.221UnavailableNone listed
6.1.168affectedsemver6.1.188UnavailableNone listed
6.6.131affectedsemver6.6.157UnavailableNone listed
6.12.80affectedsemver6.12.110UnavailableNone listed
6.18.21affectedsemver6.18.52UnavailableNone listed
6.19.11affectedsemver6.20UnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
7.0affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver7.0UnavailableNone listed
5.10.270unaffectedsemverUnavailable5.10.*None listed
5.15.221unaffectedsemverUnavailable5.15.*None listed
6.1.188unaffectedsemverUnavailable6.1.*None listed
6.6.157unaffectedsemverUnavailable6.6.*None listed
6.12.110unaffectedsemverUnavailable6.12.*None listed
6.18.52unaffectedsemverUnavailable6.18.*None listed
7.2.6unaffectedsemverUnavailable7.2.*None listed
7.3unaffectedoriginal_commit_for_fixUnavailable*None listed