{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-26646","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-02-19T14:20:24.138Z","datePublished":"2024-03-26T17:50:00.473Z","dateUpdated":"2026-08-05T11:26:32.290Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T11:26:32.290Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nthermal: intel: hfi: Add syscore callbacks for system-wide PM\n\nThe kernel allocates a memory buffer and provides its location to the\nhardware, which uses it to update the HFI table. This allocation occurs\nduring boot and remains constant throughout runtime.\n\nWhen resuming from hibernation, the restore kernel allocates a second\nmemory buffer and reprograms the HFI hardware with the new location as\npart of a normal boot. The location of the second memory buffer may\ndiffer from the one allocated by the image kernel.\n\nWhen the restore kernel transfers control to the image kernel, its HFI\nbuffer becomes invalid, potentially leading to memory corruption if the\nhardware writes to it (the hardware continues to use the buffer from the\nrestore kernel).\n\nIt is also possible that the hardware \"forgets\" the address of the memory\nbuffer when resuming from \"deep\" suspend. Memory corruption may also occur\nin such a scenario.\n\nTo prevent the described memory corruption, disable HFI when preparing to\nsuspend or hibernate. Enable it when resuming.\n\nAdd syscore callbacks to handle the package of the boot CPU (packages of\nnon-boot CPUs are handled via CPU offline). Syscore ops always run on the\nboot CPU. Additionally, HFI only needs to be disabled during \"deep\" suspend\nand hibernation. Syscore ops only run in these cases.\n\n[ rjw: Comment adjustment, subject and changelog edits ]"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerability is triggered by a local system power-management transition (hibernate or deep S3 suspend) initiated from the local system, and leveraging the resulting kernel memory corruption requires local code execution. No network or remote peer is involved.\nAC:L - On affected Intel HFI hardware every hibernate/resume cycle deterministically leaves the CPU writing into a physical page that the resumed image kernel is using for something else; the attacker can repeat the cycle at will and the restore kernel's buffer address is reproducible across boots, allowing the memory at that page to be groomed.\nPR:L - A basic unprivileged local account suffices in realistic deployments — desktop distros' default logind/polkit policy lets an active local session request suspend/hibernate, and laptop/ChromeOS/Android-x86 systems enter deep suspend automatically without any privileged action.\nUI:N - The attacker can initiate the suspend/hibernate cycle themselves, and on many systems it happens automatically via autosleep or idle policy; no action by a separate victim user is required.\nS:U - The corruption occurs in kernel memory managed by the same kernel that programmed the HFI pointer, so the impact stays within the kernel's own security authority with no VM, IOMMU, or sandbox boundary crossed.\nC:H - The hardware performs uncontrolled writes into arbitrary kernel memory, which can corrupt page tables or kernel structures and be leveraged to expose memory contents; per guidance, memory corruption that could be leveraged for information disclosure is scored High.\nI:H - This is a direct write of hardware-generated data into a page of memory the kernel is actively using for unrelated data — arbitrary kernel memory corruption, which is the classic primitive for control-flow hijacking and privilege escalation.\nA:H - Silent corruption of live kernel data structures or page tables after resume reliably produces oopses, panics, or filesystem/data destruction, so availability impact is High."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/thermal/intel/intel_hfi.c"],"versions":[{"version":"1cb19cabeb0e187b6c244d0da73d27f7432c40dc","lessThan":"28f010dc50df0f7987c04112114fcfa7e0803566","status":"affected","versionType":"git"},{"version":"1cb19cabeb0e187b6c244d0da73d27f7432c40dc","lessThan":"019ccc66d56a696a4dfee3bfa2f04d0a7c3d89ee","status":"affected","versionType":"git"},{"version":"1cb19cabeb0e187b6c244d0da73d27f7432c40dc","lessThan":"c9d6d63b6c03afaa6f185df249af693a7939577c","status":"affected","versionType":"git"},{"version":"1cb19cabeb0e187b6c244d0da73d27f7432c40dc","lessThan":"97566d09fd02d2ab329774bb89a2cdf2267e86d9","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/thermal/intel/intel_hfi.c"],"versions":[{"version":"5.18","status":"affected"},{"version":"0","lessThan":"5.18","status":"unaffected","versionType":"semver"},{"version":"6.1.76","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.15","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.7.3","lessThanOrEqual":"6.7.*","status":"unaffected","versionType":"semver"},{"version":"6.8","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.1.76"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.6.15"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.7.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.8"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/28f010dc50df0f7987c04112114fcfa7e0803566"},{"url":"https://git.kernel.org/stable/c/019ccc66d56a696a4dfee3bfa2f04d0a7c3d89ee"},{"url":"https://git.kernel.org/stable/c/c9d6d63b6c03afaa6f185df249af693a7939577c"},{"url":"https://git.kernel.org/stable/c/97566d09fd02d2ab329774bb89a2cdf2267e86d9"}],"title":"thermal: intel: hfi: Add syscore callbacks for system-wide PM","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-07-10T13:36:45.498373Z","id":"CVE-2024-26646","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2024-07-10T13:36:55.157Z"}},{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-02T00:07:19.715Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/28f010dc50df0f7987c04112114fcfa7e0803566","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/019ccc66d56a696a4dfee3bfa2f04d0a7c3d89ee","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/c9d6d63b6c03afaa6f185df249af693a7939577c","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/97566d09fd02d2ab329774bb89a2cdf2267e86d9","tags":["x_transferred"]}]}]}}