CVE-2024-26974: crypto: qat - resolve race condition during AER recovery
In the Linux kernel, the following vulnerability has been resolved:
crypto: qat - resolve race condition during AER recovery
During the PCI AER system's error recovery process, the kernel driver
may encounter a race condition with freeing the reset_data structure's
memory. If the device restart will take more than 10 seconds the function
scheduling that restart will exit due to a timeout, and the reset_data
structure will be freed. However, this data structure is used for
completion notification after the restart is completed, which leads
to a UAF bug.
This results in a KFENCE bug notice.
BUG: KFENCE: use-after-free read in adf_device_reset_worker+0x38/0xa0 [intel_qat]
Use-after-free read at 0x00000000bc56fddf (in kfence-#142):
adf_device_reset_worker+0x38/0xa0 [intel_qat]
process_one_work+0x173/0x340
To resolve this race condition, the memory associated to the container
of the work_struct is freed on the worker if the timeout expired,
otherwise on the function that schedules the worker.
The timeout detection can be done by checking if the caller is
still waiting for completion or not by using completion_done() function.
Security readout for executives and security teams
Plain-English summary
A timing flaw in the Linux Intel QAT driver can access memory after it has been freed when PCI error recovery takes longer than ten seconds. This can crash or corrupt an affected system. The supplied CVSS assessment is 7.8, but exposure is limited to systems using the affected driver and recovery path.
Executive priority
Treat this as a high-priority, hardware-specific kernel update rather than an internet-wide emergency. Promptly identify QAT-enabled systems, then patch through supported vendor channels. Accelerate remediation where untrusted local users or workloads exist. No active exploitation is established by the supplied sources.
Technical view
During PCI AER recovery, the restart scheduler may time out and free reset_data while adf_device_reset_worker later uses it for completion notification, causing a use-after-free read. The kernel fix assigns cleanup to the worker after a timeout, or to the scheduling function when completion occurs before timeout, using completion_done() to distinguish the paths.
Likely exposure
Likely exposure is concentrated on listed affected Linux versions where the Intel QAT driver and relevant hardware are present. Triggering requires the PCI AER recovery path and a device restart exceeding ten seconds. Systems without Intel QAT use are unlikely to reach the vulnerable code. The bundle does not establish how commonly these conditions occur.
Exploitation context
The CVSS vector describes local access, low complexity, low privileges, no user interaction, and potentially high confidentiality, integrity, and availability impact. However, the supplied evidence demonstrates a KFENCE use-after-free notice, not successful exploitation. The CVE is not listed as KEV, and no cited source in the bundle confirms active exploitation.
Researcher notes
The critical condition is lifetime ownership of reset_data across asynchronous recovery and timeout paths. The reported manifestation is a KFENCE read in adf_device_reset_worker. Researchers should verify branch-specific backports and vendor package status. The source bundle provides neither a demonstrated privilege-escalation outcome nor evidence that confidentiality or integrity impact has been reproduced.
Mitigation direction
Upgrade to a vendor-supported kernel containing the applicable stable Linux fix.
Review Linux distribution and appliance vendor advisories for corrected package versions.
Prioritize systems that load the Intel QAT driver or use Intel QAT hardware.
Restrict unnecessary local access until affected systems are updated.
Test kernel updates against hardware acceleration workloads before production rollout.
Validation and detection
Inventory kernel releases across Linux hosts and compare them with vendor advisories.
Identify systems using Intel QAT hardware or loading the Intel QAT driver.
Confirm the installed kernel changelog includes the applicable referenced stable fix.
Review kernel logs for PCI AER recovery, QAT reset timeouts, or use-after-free notices.
After updating, exercise approved recovery testing and confirm normal QAT operation.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
description · low confidence lookup
Container behavior lookup
The affected technology mentions containers, so container-specific ATT&CK technique review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.