CVE-2026-46059 PUBLISHED

KVM: nSVM: Always use NextRIP as vmcb02's NextRIP after first L2 VMRUN

Assigner: Linux
Reserved: 13.05.2026 Published: 27.05.2026 Updated: 27.05.2026

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

KVM: nSVM: Always use NextRIP as vmcb02's NextRIP after first L2 VMRUN

For guests with NRIPS disabled, L1 does not provide NextRIP when running an L2 with an injected soft interrupt, instead it advances the current RIP before running it. KVM uses the current RIP as the NextRIP in vmcb02 to emulate a CPU without NRIPS.

However, after L2 runs the first time, NextRIP will be updated by the CPU and/or KVM, and the current RIP is no longer the correct value to use in vmcb02. Hence, after save/restore, use the current RIP if and only if a nested run is pending, otherwise use NextRIP. Give soft_int_next_rip the same treatment, as it's the same logic, just for a narrower use case.

[sean: give soft_int_next_rip the same treatment]

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from cc440cdad5b7a4c1de12dace725209eb3e0cf663 to 3428ed1529a1af4cce5aff6c5bd2fcc39ad726bb (excl.)
  • affected from cc440cdad5b7a4c1de12dace725209eb3e0cf663 to 69fe1411a5ce678b4da6489b5d2282b4e1d13acf (excl.)
  • affected from cc440cdad5b7a4c1de12dace725209eb3e0cf663 to 8d397582f6b5e9fbcf09781c7c934b4910e94a50 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.8 is affected
  • unaffected from 0 to 5.8 (excl.)
  • unaffected from 6.18.27 to 6.18.* (incl.)
  • unaffected from 7.0.4 to 7.0.* (incl.)
  • unaffected from 7.1-rc1 to * (incl.)

References