CVE-2025-40194
Description
In the Linux kernel, the following vulnerability has been resolved:
cpufreq: intel_pstate: Fix object lifecycle issue in update_qos_request()
The cpufreq_cpu_put() call in update_qos_request() takes place too early because the latter subsequently calls freq_qos_update_request() that indirectly accesses the policy object in question through the QoS request object passed to it.
Fortunately, update_qos_request() is called under intel_pstate_driver_lock, so this issue does not matter for changing the intel_pstate operation mode, but it theoretically can cause a crash to occur on CPU device hot removal (which currently can only happen in virt, but it is formally supported nevertheless).
Address this issue by modifying update_qos_request() to drop the reference to the policy later.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A use-after-free in Linux kernel intel_pstate cpufreq driver, where update_qos_request() drops a policy reference before a subsequent QoS request access, potentially causing a crash on CPU hot removal in virtual environments.
An object lifecycle issue exists in the Linux kernel's intel_pstate cpufreq driver. The function update_qos_request() calls cpufreq_cpu_put() to drop a reference to a cpufreq policy object too early [1]. This occurs before the subsequent freq_qos_update_request() call, which indirectly accesses the same policy via the QoS request object [1]. The early decrement can lead to a use-after-free or invalid memory access if the policy is freed concurrently.
The vulnerability can be triggered during CPU device hot removal, a scenario that is formally supported in the kernel but primarily occurs in virtualized environments [1]. While update_qos_request() is protected by intel_pstate_driver_lock for mode changes, this lock does not prevent a race with hot removal, which can free the policy object while the function still holds a reference [1].
An attacker with the ability to trigger CPU hot unplug (a privileged operation in most configurations) could exploit this to cause a system crash (denial of service) by accessing freed memory. No privilege escalation or arbitrary code execution has been documented for this flaw [1].
The fix, already applied in stable kernel releases, defers the patch moves cpufreq_cpu_put() to after the QoS update call, ensuring the policy reference remains valid throughout the operation [1]. Users should update to the latest stable kernel to mitigate the issue.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
815ac9579ebdabc26564bcc65ad4e8f9bdbef0a58d3e77b2269a18ff6c60eba63d4e9857a57e4a6aadf1269e5d50fcf40Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
8- git.kernel.org/stable/c/0a58d3e77b22b087a57831c87cafd360e144a5bdnvd
- git.kernel.org/stable/c/15ac9579ebdaf22a37d7f60b3a8efc1029732ef9nvd
- git.kernel.org/stable/c/57e4a6aadf12578b96a038373cffd54b3a58b092nvd
- git.kernel.org/stable/c/69a18ff6c60e8e113420f15355fad862cb45d38envd
- git.kernel.org/stable/c/69e5d50fcf4093fb3f9f41c4f931f12c2ca8c467nvd
- git.kernel.org/stable/c/ad4e8f9bdbef11a19b7cb93e7f313bf59bdcc3b4nvd
- git.kernel.org/stable/c/ba63d4e9857a72a89e71a4eff9f2cc8c283e94c3nvd
- git.kernel.org/stable/c/bc26564bcc659beb6d977cd6eb394041ec2f2851nvd
News mentions
0No linked articles in our index yet.