All vulnerabilities
CVE-2026-98249

Linux: arm64: hibernate: pass HVC_SET_VECTORS args to the resume hvc

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.18%Chance of exploitation activity in the next 30 days, higher than 7% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in6646418d1032cac25110526161f60d255ed08397Also 909e92423db7299e0206232051aa21fe129f65d0, 60a3c319f1127c4d247d4ed235c5d65376d5e745 and 1 moreCVE List
Published6 Oct 2026Updated 19 Oct 2026CVE List

What fixes it

  • 6646418d1032cac25110526161f60d255ed08397LinuxCVE List
  • 909e92423db7299e0206232051aa21fe129f65d0LinuxCVE List
  • 60a3c319f1127c4d247d4ed235c5d65376d5e745LinuxCVE List
  • 955d86e5f3b95b731991fdb84966c50b16314629LinuxCVE List

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: hibernate: pass HVC_SET_VECTORS args to the resume hvc

swsusp_arch_suspend_exit() reinstalls the restored kernel's hyp stub vectors with an hvc, but never passes the arguments. x0 is not set to HVC_SET_VECTORS and x1 is not set to the vector address, so the stub dispatch falls through and returns without writing vbar_el2. EL2 is left pointing at the trans_pgd copy of the vectors, a page that swsusp_free() releases right after resume.

Set the arguments up the same way __hyp_set_vectors() does.

Without this fix, Vladimir was able to trigger a hang when resuming from hibernation with CONFIG_PAGE_POISONING=y and page_poison=on.

Text from CVE List

Affected versions 14

  • Linuxaffected: 788bfdd97434982b6d575062581e8e72eea755af before 6646418d1032cac25110526161f60d255ed08397CVE List
  • Linuxaffected: 788bfdd97434982b6d575062581e8e72eea755af before 909e92423db7299e0206232051aa21fe129f65d0CVE List
  • Linuxaffected: 788bfdd97434982b6d575062581e8e72eea755af before 60a3c319f1127c4d247d4ed235c5d65376d5e745CVE List
  • Linuxaffected: 788bfdd97434982b6d575062581e8e72eea755af before e80ea8118a073a30ebe7a31bd78938c2b1751accCVE List
  • Linuxaffected: 788bfdd97434982b6d575062581e8e72eea755af before d3f8f773312af69eaf4dda106d76d6d42e4362e5CVE List
  • Linuxaffected: 788bfdd97434982b6d575062581e8e72eea755af before 955d86e5f3b95b731991fdb84966c50b16314629CVE List
  • Linuxaffected: 5.16CVE List
  • Linuxunaffected: all versions before 5.16CVE List
  • Linuxunaffected: 6.1.189 through 6.1.*CVE List
  • Linuxunaffected: 6.6.158 through 6.6.*CVE List
  • Linuxunaffected: 6.12.112 through 6.12.*CVE List
  • Linuxunaffected: 6.18.54 through 6.18.*CVE List
  • Linuxunaffected: 7.2.8 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 6