In the Linux kernel, the following vulnerability has been resolved: crypto: qat - protect service table iterations…
Source GCVE Database
Not known to be exploited.
Data as of 10/24/2026, 22:16:04 UTC
No CVSS score from NVD or the CNA
- Exploitation
Not in CISA KEV, no exploitation reported
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 2% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
What to do
AI-suggested
A fix is available that ensures service_lock is held during all iterations of the service_table list in the affected functions. Users should update their Linux kernel to a version that includes this fix. No additional mitigations are indicated.
Description
In the Linux kernel, the following vulnerability has been resolved: crypto: qat - protect service table iterations with service_lock The service_table list is protected by service_lock when entries are added or removed (in adf_service_add() and adf_service_remove()), but several functions iterate over the list without holding this lock. A concurrent adf_service_register() or adf_service_unregister() call could modify the list during traversal, leading to list corruption or a use-after-free. Fix this by holding service_lock across all list_for_each_entry() iterations of service_table in adf_dev_init(), adf_dev_start(), adf_dev_stop(), adf_dev_shutdown(), adf_dev_restarting_notify(), adf_dev_restarted_notify(), and adf_error_notifier(). The lock ordering is safe: callers of the static helpers (adf_dev_up() and adf_dev_down()) acquire state_lock before service_lock, and no event_hld callback or service_lock holder ever acquires state_lock in the reverse order.
Impact
Without proper locking, concurrent modifications to the service_table list could cause memory corruption or use-after-free vulnerabilities, potentially leading to kernel instability or crashes. No known exploits in the wild have been reported. The impact is limited to kernel memory safety and stability.
Summary
The Linux kernel's crypto qat driver maintained a service_table list protected by service_lock during additions and removals. However, several functions iterated over this list without holding the lock, allowing concurrent modifications via adf_service_register() or adf_service_unregister() to cause list corruption or use-after-free. The fix involves holding service_lock during all list_for_each_entry() iterations of service_table in multiple functions, ensuring safe lock ordering with state_lock to prevent deadlocks.
References
- nvd.nist.gov/vuln/detail/CVE-2026-64305 (opens in a new tab)
- git.kernel.org/stable/c/0dbcecea740d943002c1cbdafa39bdfc108e32a5 (opens in a new tab)
- git.kernel.org/stable/c/222fa7b453b612f4407f260146d89a2ce2bc831d (opens in a new tab)
- git.kernel.org/stable/c/5c6f845e77ec35f9b7b047cc8f9789bf397cdd3e (opens in a new tab)
- git.kernel.org/stable/c/c3c5925791cff3b84d313293fd60f384d877d793 (opens in a new tab)