Skip to content

Security1 publisher2 min readPublished

CVE-2026-89775 leaves a freed host page mapped and writable inside ARM64 KVM guests

Hyunwoo Kim says a guest can use the bug to run code on the host, and he reports a local-root variant where /dev/kvm is world-openable. Both need ARM64 nested virtualization, a mode that is off by default.

The Watch · Security desk

Illustration accompanying CVE-2026-89775 leaves a freed host page mapped and writable inside ARM64 KVM guests

What happened

  • Hyunwoo Kim disclosed CVE-2026-89775 on September 16, and says a guest on an affected ARM64 KVM host can break out of its virtual machine and run code on the underlying machine.
  • Nested virtualization on ARM64 is an experimental boot-time mode, off by default and requiring Armv8.4 hardware with FEAT_NV2, so a host that never enabled it is outside the reported attack path.
  • Upstream fixes are in Linux 6.18.51, 7.2.5 and 7.3-rc1, and for hosts that cannot yet be patched Red Hat says no mitigation meets its criteria for a workaround.
  • As of September 22 the flaw was not in CISA's catalog of exploited vulnerabilities, and its predicted exploitation score sat below 1%.

Compiled by The WatchSomething wrong?How this is made

Why it matters

  • constraint Because the precondition is a boot-time mode, an operator can settle exposure from a host configuration inventory without waiting on a distribution backport matrix.
  • contradiction The kernel record starts the affected range at 6.16 and the maintainer who tested the fix starts the faulty behavior at 6.17, and that disagreement decides whether a 6.16 fleet goes in this patch window.
  • precedent Four KVM guest-to-host escapes from one researcher in four consecutive months, two of them on ARM64, is a poor backdrop for anyone planning to switch nested virtualization on this year.

A guest arranges its memory so that a size calculation in KVM's nested-virtualization code comes out as zero, and the TLB invalidation that should clear stale entries from the processor's address cache never runs [6]. A page of host memory the kernel has already freed then stays mapped and writable, and the guest reads and writes it 64 bits at a time, with no hardware trap to hand control back to the host [7]. Kim says a guest can use this to escape its own virtual machine and run code on the underlying machine [3]. No exploit code has been published, and there is no sign the flaw has been used in an attack [8].

Which hosts are actually vulnerable is not settled. The kernel's own record lists the affected code as present from Linux 6.16, though the author tagged the fix against a later change [9]. The maintainer who reviewed and tested it said the "missed invalidation only starts at v6.17" [10]. By that account a 6.16 host carries the code but not the behavior an attacker needs [11].

Vendor scores run from 7.8 to 9.3 out of 10, a spread of 1.5 points on a bug where they agree the impact is high and the attack is local, meaning it cannot be launched over a network [17][1]. The spread reflects how difficult each vendor thinks the flaw is to exploit [18]. Ubuntu publishes the 9.3 figure and sets its own priority to medium [19].

The second path starts with a local user on the host. On systems where any user can open /dev/kvm, the device a program uses to create a virtual machine, a local user could build a guest and use the same bug to gain root, Kim says [12]. Red Hat leaves that device open to all users by default [13], and lists its Red Hat Enterprise Linux 10 kernel as affected, with versions 6 through 9 not affected [14]. Either way, the host still needs nested virtualization enabled [15].

For tenants on the two largest clouds, the configuration this flaw needs is not on offer. Amazon Web Services lists nested virtualization only on Intel-based instances, and Google Cloud excludes its ARM virtual machines from it [21]. Their standard ARM offerings do not expose the reported path [22].

This is the fourth KVM guest-to-host escape Kim has disclosed this year, one in each month from June to September: ITScape on ARM64 in June, Januscape on x86 in July, Zapscape on x86 in August, and CVE-2026-89775 this month [23][2]. He called ITScape the first such escape shown publicly on ARM64 [24].

What to watch

  • Whether the kernel CVE record is corrected to start the affected range at 6.17. That decides who patches first.
  • Distribution backport status beyond Red Hat, and whether Red Hat revises its position that no mitigation qualifies as a workaround.
  • Publication of exploit code, or a CISA exploited-vulnerabilities listing. Either would mean exploitation is no longer hypothetical.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories