All vulnerabilities
CVE-2026-98546

Linux: arm64/boot: Disable trapping of PMZR_EL0 writes to EL2

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.20%Chance of exploitation activity in the next 30 days, higher than 9% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in071f51188a5d8ec10535541255587976d12fc7d8Also 2bc6b218717b9d08f466f88209251d54bc09b207, 6.12.112 and 1 moreCVE List
Published18 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

arm64/boot: Disable trapping of PMZR_EL0 writes to EL2

__init_el2_fgt2() writes one mask to both HDFGRTR2_EL2 and HDFGWTR2_EL2. PMZR_EL0 is write-only, so its trap bit, nPMZR_EL0, exists only in HDFGWTR2_EL2 and is therefore never set: a PMZR_EL0 write from the host traps to EL2, where the nVHE hypervisor has no handler and BUG()s. The kernel never writes PMZR_EL0, but kernel.perf_user_access=1 has the PMU driver set PMUSERENR_EL0.UEN for a task with a user-read event, so a write from EL0 reaches the trap and takes the host down without a panic message.

Accumulate the HDFGWTR2_EL2 bits separately, as __init_el2_fgt() already does for HDFGWTR_EL2, and set nPMZR_EL0 with the other FEAT_PMUv3p9 bits.

Text from CVE List

Affected versions 13

  • Linuxaffected: 686d8f7b592f3466f44aea653c8147611b351c83 before bb8c90c86441c090e9036f019cf1b4d7894a2c40CVE List
  • Linuxaffected: 858c7bfcb35e1100b58bb63c9f562d86e09418d9 before 071f51188a5d8ec10535541255587976d12fc7d8CVE List
  • Linuxaffected: 858c7bfcb35e1100b58bb63c9f562d86e09418d9 before ce71865bf43f88bed9d9218e9218e537150be506CVE List
  • Linuxaffected: 858c7bfcb35e1100b58bb63c9f562d86e09418d9 before 2bc6b218717b9d08f466f88209251d54bc09b207CVE List
  • Linuxaffected: 882f78400322c0aec4b641a7168adad9a66bc0c2CVE List
  • Linuxaffected: 6.12.25 before 6.12.112CVE List
  • Linuxaffected: 6.14.4 before 6.15CVE List
  • Linuxaffected: 6.15CVE List
  • Linuxunaffected: all versions before 6.15CVE List
  • Linuxunaffected: 6.12.112 through 6.12.*CVE List
  • Linuxunaffected: 6.18.55 through 6.18.*CVE List
  • Linuxunaffected: 7.2.9 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 4