UBUNTU-CVE-2026-45987
In the Linux kernel, the following vulnerability has been resolved: KVM: nSVM: Sync interrupt shadow to cached vmcb12 after VMRUN of L2 After VMRUN in guest mode, nested_sync_control_from_vmcb02() syncs fields written by the CPU from vmcb02 to the cached vmcb12. This is because the cached vmcb12 is used as the authoritative copy of some of the controls, and is the payload when saving/restoring nested state. int_state is also written by the CPU, specifically bit 0 (i.e. SVM_INTERRUPT_SHADOW_MASK) for nested VMs, but it is not sync'd to cached vmcb12. This does not cause a problem if KVM_SET_NESTED_STATE preceeds KVM_SET_VCPU_EVENTS in the restore path, as an interrupt shadow would be correctly restored to vmcb02 (KVM_SET_VCPU_EVENTS overwrites what KVM_SET_NESTED_STATE restored in int_state). However, if KVM_SET_VCPU_EVENTS preceeds KVM_SET_NESTED_STATE, an interrupt shadow would be restored into vmcb01 instead of vmcb02. This would mostly be benign for L1 (delays an interrupt), but not for L2. For L2, the vCPU could hang (e.g. if a wakeup interrupt is delivered before a HLT that should have been in an interrupt shadow). Sync int_state to the cached vmcb12 in nested_sync_control_from_vmcb02() to avoid this problem. With that, KVM_SET_NESTED_STATE restores the correct interrupt shadow state, and if KVM_SET_VCPU_EVENTS follows it would overwrite it with the same value.
02 / AFFECTED SOFTWARE
Affected packages
50 explicit affected versions
6 explicit affected versions
24 explicit affected versions
1 explicit affected versions
10 explicit affected versions
37 explicit affected versions
12 explicit affected versions
13 explicit affected versions
41 explicit affected versions
23 explicit affected versions
7 explicit affected versions
12 explicit affected versions
10 explicit affected versions
16 explicit affected versions
16 explicit affected versions
5 explicit affected versions
74 explicit affected versions
66 explicit affected versions
35 explicit affected versions
16 explicit affected versions
15 explicit affected versions
51 explicit affected versions
70 explicit affected versions
77 explicit affected versions
46 explicit affected versions
13 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
19 explicit affected versions
3 explicit affected versions
18 explicit affected versions
14 explicit affected versions
10 explicit affected versions
1 explicit affected versions
1 explicit affected versions
1 explicit affected versions
88 explicit affected versions
78 explicit affected versions
78 explicit affected versions
6 explicit affected versions
13 explicit affected versions
43 explicit affected versions
1 explicit affected versions
12 explicit affected versions
11 explicit affected versions
11 explicit affected versions
4 explicit affected versions
87 explicit affected versions
59 explicit affected versions
12 explicit affected versions
19 explicit affected versions
10 explicit affected versions
6 explicit affected versions
97 explicit affected versions
82 explicit affected versions
83 explicit affected versions
84 explicit affected versions
76 explicit affected versions
62 explicit affected versions
26 explicit affected versions
89 explicit affected versions
7 explicit affected versions
84 explicit affected versions
5 explicit affected versions
40 explicit affected versions
13 explicit affected versions
44 explicit affected versions
35 explicit affected versions
1 explicit affected versions
45 explicit affected versions
49 explicit affected versions
47 explicit affected versions
18 explicit affected versions
40 explicit affected versions
21 explicit affected versions
7 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
52 explicit affected versions
1 explicit affected versions
8 explicit affected versions
7 explicit affected versions
16 explicit affected versions
10 explicit affected versions
20 explicit affected versions
6 explicit affected versions
48 explicit affected versions
7 explicit affected versions
12 explicit affected versions
14 explicit affected versions
10 explicit affected versions
1 explicit affected versions
7 explicit affected versions
17 explicit affected versions
12 explicit affected versions
10 explicit affected versions
10 explicit affected versions
41 explicit affected versions
8 explicit affected versions
8 explicit affected versions
43 explicit affected versions
34 explicit affected versions
16 explicit affected versions
5 explicit affected versions
17 explicit affected versions
27 explicit affected versions
10 explicit affected versions
10 explicit affected versions
37 explicit affected versions
10 explicit affected versions
11 explicit affected versions
13 explicit affected versions
39 explicit affected versions
3 explicit affected versions
10 explicit affected versions
11 explicit affected versions
65 explicit affected versions
26 explicit affected versions
7 explicit affected versions
34 explicit affected versions
29 explicit affected versions
13 explicit affected versions
12 explicit affected versions
95 explicit affected versions
40 explicit affected versions
8 explicit affected versions
89 explicit affected versions
52 explicit affected versions
33 explicit affected versions
58 explicit affected versions
10 explicit affected versions
20 explicit affected versions
19 explicit affected versions
11 explicit affected versions
5 explicit affected versions
12 explicit affected versions
11 explicit affected versions
90 explicit affected versions
10 explicit affected versions
26 explicit affected versions
39 explicit affected versions
1 explicit affected versions
48 explicit affected versions
11 explicit affected versions
10 explicit affected versions
13 explicit affected versions
46 explicit affected versions
88 explicit affected versions
50 explicit affected versions
10 explicit affected versions
3 explicit affected versions
7 explicit affected versions
2 explicit affected versions
16 explicit affected versions
18 explicit affected versions
43 explicit affected versions
12 explicit affected versions
7 explicit affected versions
27 explicit affected versions
63 explicit affected versions
7 explicit affected versions
43 explicit affected versions
8 explicit affected versions
54 explicit affected versions
5 explicit affected versions
8 explicit affected versions
13 explicit affected versions
7 explicit affected versions
8 explicit affected versions
10 explicit affected versions
12 explicit affected versions
9 explicit affected versions
36 explicit affected versions
44 explicit affected versions
16 explicit affected versions
45 explicit affected versions
37 explicit affected versions
50 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
17 explicit affected versions
11 explicit affected versions
39 explicit affected versions
90 explicit affected versions
6 explicit affected versions
7 explicit affected versions
4 explicit affected versions
79 explicit affected versions
16 explicit affected versions
10 explicit affected versions
8 explicit affected versions
45 explicit affected versions
14 explicit affected versions
4 explicit affected versions
78 explicit affected versions
14 explicit affected versions
11 explicit affected versions
39 explicit affected versions
77 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: KVM: nSVM: Sync interrupt shadow to cached vmcb12 after VMRUN of L2 After VMRUN in guest mode, nested_sync_control_from_vmcb02() syncs fields written by the CPU from vmcb02 to the cached vmcb12. This is because the cached vmcb12 is used as the authoritative copy of some of the controls, and is the payload when saving/restoring nested state. int_state is also written by the CPU, specifically bit 0 (i.e. SVM_INTERRUPT_SHADOW_MASK) for nested VMs, but it is not sync'd to cached vmcb12. This does not cause a problem if KVM_SET_NESTED_STATE preceeds KVM_SET_VCPU_EVENTS in the restore path, as an interrupt shadow would be correctly restored to vmcb02 (KVM_SET_VCPU_EVENTS overwrites what KVM_SET_NESTED_STATE restored in int_state). However, if KVM_SET_VCPU_EVENTS preceeds KVM_SET_NESTED_STATE, an interrupt shadow would be restored into vmcb01 instead of vmcb02. This would mostly be benign for L1 (delays an interrupt), but not for L2. For L2, the vCPU could hang (e.g. if a wakeup interrupt is delivered before a HLT that should have been in an interrupt shadow). Sync int_state to the cached vmcb12 in nested_sync_control_from_vmcb02() to avoid this problem. With that, KVM_SET_NESTED_STATE restores the correct interrupt shadow state, and if KVM_SET_VCPU_EVENTS follows it would overwrite it with the same value.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/03bee264f8ebfd39e0254c98e112d033a7aa9055
- https://ubuntu.com/security/CVE-2026-45987
- https://ubuntu.com/security/notices/USN-8488-1
- https://ubuntu.com/security/notices/USN-8488-2
- https://ubuntu.com/security/notices/USN-8489-1
- https://ubuntu.com/security/notices/USN-8507-1
- https://ubuntu.com/security/notices/USN-8567-1
- https://ubuntu.com/security/notices/USN-8569-1
- https://ubuntu.com/security/notices/USN-8574-1
- https://ubuntu.com/security/notices/USN-8574-2
- https://ubuntu.com/security/notices/USN-8574-3
- https://ubuntu.com/security/notices/USN-8575-1
- https://ubuntu.com/security/notices/USN-8575-2
- https://ubuntu.com/security/notices/USN-8575-3
- https://ubuntu.com/security/notices/USN-8576-1
- https://ubuntu.com/security/notices/USN-8576-2
- https://ubuntu.com/security/notices/USN-8595-1
- https://ubuntu.com/security/notices/USN-8595-2
- https://ubuntu.com/security/notices/USN-8595-3
- https://ubuntu.com/security/notices/USN-8596-1
- https://ubuntu.com/security/notices/USN-8597-1
- https://ubuntu.com/security/notices/USN-8603-1
- https://ubuntu.com/security/notices/USN-8606-1
- https://ubuntu.com/security/notices/USN-8607-1
- https://ubuntu.com/security/notices/USN-8608-1
- https://ubuntu.com/security/notices/USN-8609-1
- https://ubuntu.com/security/notices/USN-8610-1
- https://ubuntu.com/security/notices/USN-8619-1
- https://ubuntu.com/security/notices/USN-8620-1
- https://ubuntu.com/security/notices/USN-8620-2
- https://ubuntu.com/security/notices/USN-8620-3
- https://ubuntu.com/security/notices/USN-8620-4
- https://www.cve.org/CVERecord?id=CVE-2026-45987