CVE-2026-64010
nfc: llcp: Fix use-after-free race in nfc_llcp_recv_cc()
Description
In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: Fix use-after-free race in nfc_llcp_recv_cc() A race condition exists in the NFC LLCP connection state machine where the connection acceptance packet (CC) can be processed concurrently with socket release. This can lead to a use-after-free of the socket object. When nfc_llcp_recv_cc() moves the socket from the connecting_sockets list to the sockets list, it does so without holding the socket lock. If llcp_sock_release() is executing concurrently, it might have already unlinked the socket and dropped its references, which can result in nfc_llcp_recv_cc() linking a freed socket into the live list. Fix this by holding lock_sock() during the state transition and list movement in nfc_llcp_recv_cc(). After acquiring the lock, check if the socket is still hashed to ensure it hasn't already been unlinked and marked for destruction by the release path. This aligns the locking pattern with recv_hdlc() and recv_disc().
INFO
Published Date :
July 19, 2026, 4:17 p.m.
Last Modified :
July 30, 2026, 2:59 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Acquire socket lock in nfc_llcp_recv_cc() before state transition.
- Check if socket is still hashed after acquiring lock.
- Apply the kernel patch provided in the advisory.
- Update the Linux kernel to the latest version.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-64010.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-64010 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-64010
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-64010 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-64010 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 20, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 19, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': 'dce85215a6c7b0fd753f577a4c487f647119884c', 'versionType': 'git'}, {'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': 'bd08bb7443c501d2f2a71d529e4afcf11c9b07d2', 'versionType': 'git'}, {'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': '0b45c31746e1523d5d482fda8fcf54a35ac417f1', 'versionType': 'git'}, {'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': 'ee2d1a8a1833c5e56e9a1745e64b0b4edda732c2', 'versionType': 'git'}, {'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': 'ad8a27d63cac96bac441edd002209ebd996e12fb', 'versionType': 'git'}, {'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': '650bdd8fdfab64a09ee474150313dbc48c374795', 'versionType': 'git'}, {'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': 'b2a60f7f846faaf5c2cdad4ea6d3a33e5f863183', 'versionType': 'git'}, {'status': 'affected', 'version': 'a69f32af86e389dd232b1bb2269e202c1bfcc60f', 'lessThan': 'b493ea2765cc17cb8aa7e7544a4b6dcb05b6ed77', 'versionType': 'git'}], 'programFiles': ['net/nfc/llcp_core.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '3.6'}, {'status': 'unaffected', 'version': '0', 'lessThan': '3.6', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.259', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.210', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.176', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.143', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.93', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.35', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.12', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/nfc/llcp_core.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: Fix use-after-free race in nfc_llcp_recv_cc() A race condition exists in the NFC LLCP connection state machine where the connection acceptance packet (CC) can be processed concurrently with socket release. This can lead to a use-after-free of the socket object. When nfc_llcp_recv_cc() moves the socket from the connecting_sockets list to the sockets list, it does so without holding the socket lock. If llcp_sock_release() is executing concurrently, it might have already unlinked the socket and dropped its references, which can result in nfc_llcp_recv_cc() linking a freed socket into the live list. Fix this by holding lock_sock() during the state transition and list movement in nfc_llcp_recv_cc(). After acquiring the lock, check if the socket is still hashed to ensure it hasn't already been unlinked and marked for destruction by the release path. This aligns the locking pattern with recv_hdlc() and recv_disc(). Added Reference https://git.kernel.org/stable/c/0b45c31746e1523d5d482fda8fcf54a35ac417f1 Added Reference https://git.kernel.org/stable/c/650bdd8fdfab64a09ee474150313dbc48c374795 Added Reference https://git.kernel.org/stable/c/ad8a27d63cac96bac441edd002209ebd996e12fb Added Reference https://git.kernel.org/stable/c/b2a60f7f846faaf5c2cdad4ea6d3a33e5f863183 Added Reference https://git.kernel.org/stable/c/b493ea2765cc17cb8aa7e7544a4b6dcb05b6ed77 Added Reference https://git.kernel.org/stable/c/bd08bb7443c501d2f2a71d529e4afcf11c9b07d2 Added Reference https://git.kernel.org/stable/c/dce85215a6c7b0fd753f577a4c487f647119884c Added Reference https://git.kernel.org/stable/c/ee2d1a8a1833c5e56e9a1745e64b0b4edda732c2