{"id":"CVE-2026-64377","summary":"cpufreq: qcom-cpufreq-hw: Fix possible double free","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: qcom-cpufreq-hw: Fix possible double free\n\nqcom_cpufreq.data is allocated with devm_kzalloc() in probe() as an\narray of per-domain data. qcom_cpufreq_hw_cpu_init() stores a pointer to\none element of this array in policy-\u003edriver_data.\n\nqcom_cpufreq_hw_cpu_exit() currently calls kfree() on policy-\u003edriver_data.\nThis is not valid because the memory is devm-managed. For the first\ndomain, this can free the devm-managed allocation while the devres entry\nis still active, leading to a possible double free when the platform\ndevice is later detached. For other domains, the pointer may refer to an\nelement inside the array rather than the allocation base.\n\nRemove the kfree(data) call and let devres release qcom_cpufreq.data.\n\nThis issue was found by a static analysis tool I am developing.","modified":"2026-07-27T04:03:21.845369015Z","published":"2026-07-25T08:50:28.299Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64377.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/28a03a3f6e6cda0b0da3b43761d175dec5d14d13"},{"type":"WEB","url":"https://git.kernel.org/stable/c/9de568ef6cdfc7912d5ea8db02843c0e4ef0c75d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/bcb8889c4981fdde42d4fd2c29a77d510fe21da2"},{"type":"WEB","url":"https://git.kernel.org/stable/c/e904961332801c87355f5d11c65bb433e717c489"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64377.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64377"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"054a3ef683a176a509cc9b37f762029aae942495"},{"fixed":"28a03a3f6e6cda0b0da3b43761d175dec5d14d13"},{"fixed":"e904961332801c87355f5d11c65bb433e717c489"},{"fixed":"9de568ef6cdfc7912d5ea8db02843c0e4ef0c75d"},{"fixed":"bcb8889c4981fdde42d4fd2c29a77d510fe21da2"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64377.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.12.96"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.39"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.1.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64377.json"}}],"schema_version":"1.7.5"}