{"id":"CVE-2026-98546","title":"arm64/boot: Disable trapping of PMZR_EL0 writes to EL2","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\narm64/boot: Disable trapping of PMZR_EL0 writes to EL2\n\n__init_el2_fgt2() writes one mask to both HDFGRTR2_EL2 and HDFGWTR2_EL2.\nPMZR_EL0 is write-only, so its trap bit…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 686d8f7b592f3466f44aea653c8147611b351c83 < bb8c90c86441c090e9036f019cf1b4d7894a2c40","Linux >= 858c7bfcb35e1100b58bb63c9f562d86e09418d9 < 071f51188a5d8ec10535541255587976d12fc7d8","Linux >= 858c7bfcb35e1100b58bb63c9f562d86e09418d9 < ce71865bf43f88bed9d9218e9218e537150be506","Linux >= 858c7bfcb35e1100b58bb63c9f562d86e09418d9 < 2bc6b218717b9d08f466f88209251d54bc09b207","Linux 882f78400322c0aec4b641a7168adad9a66bc0c2","Linux >= 6.12.25 < 6.12.112","Linux >= 6.14.4 < 6.15","Linux 6.15"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:18:14.808Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98546","references":[{"url":"https://git.kernel.org/stable/c/bb8c90c86441c090e9036f019cf1b4d7894a2c40"},{"url":"https://git.kernel.org/stable/c/071f51188a5d8ec10535541255587976d12fc7d8"},{"url":"https://git.kernel.org/stable/c/ce71865bf43f88bed9d9218e9218e537150be506"},{"url":"https://git.kernel.org/stable/c/2bc6b218717b9d08f466f88209251d54bc09b207"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T15:45:12.266Z","slug":"CVE-2026-98546","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\narm64/boot: Disable trapping of PMZR_EL0 writes to EL2\n\n__init_el2_fgt2() writes one mask to both HDFGRTR2_EL2 and HDFGWTR2_EL2.\nPMZR_EL0 is write-only, so its trap bit, nPMZR_EL0, exists only in\nHDFGWTR2_EL2 and is therefore never set: a PMZR_EL0 write from the host\ntraps to EL2, where the nVHE hypervisor has no handler and BUG()s. The\nkernel never writes PMZR_EL0, but kernel.perf_user_access=1 has the PMU\ndriver set PMUSERENR_EL0.UEN for a task with a user-read event, so a\nwrite from EL0 reaches the trap and takes the host down without a panic\nmessage.\n\nAccumulate the HDFGWTR2_EL2 bits separately, as __init_el2_fgt() already\ndoes for HDFGWTR_EL2, and set nPMZR_EL0 with the other FEAT_PMUv3p9\nbits.\n\n## Affected\n\n- `Linux >= 686d8f7b592f3466f44aea653c8147611b351c83 < bb8c90c86441c090e9036f019cf1b4d7894a2c40`\n- `Linux >= 858c7bfcb35e1100b58bb63c9f562d86e09418d9 < 071f51188a5d8ec10535541255587976d12fc7d8`\n- `Linux >= 858c7bfcb35e1100b58bb63c9f562d86e09418d9 < ce71865bf43f88bed9d9218e9218e537150be506`\n- `Linux >= 858c7bfcb35e1100b58bb63c9f562d86e09418d9 < 2bc6b218717b9d08f466f88209251d54bc09b207`\n- `Linux 882f78400322c0aec4b641a7168adad9a66bc0c2`\n- `Linux >= 6.12.25 < 6.12.112`\n- `Linux >= 6.14.4 < 6.15`\n- `Linux 6.15`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}