CVE-2025-68259 json
KVM: SVM: Don't skip unrelated instruction if INT3/INTO is replaced
published 2025-12-16 10 mo ago modified 2026-10-14 25 d ago also EUVD-2025-203736
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 8%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
KVM: SVM: Don't skip unrelated instruction if INT3/INTO is replaced
When re-injecting a soft interrupt from an INT3, INT0, or (select) INTn instruction, discard the exception and retry the instruction if the code stream is changed (e.g. by a different vCPU) between when the CPU executes the instruction and when KVM decodes the instruction to get the next RIP.
As effectively predicted by commit 6ef88d6e36c2 ("KVM: SVM: Re-inject INT3/INTO instead of retrying the instruction"), failure to verify that the correct INTn instruction was decoded can effectively clobber guest state due to decoding the wrong instruction and thus specifying the wrong next RIP.
The bug most often manifests as "Oops: int3" panics on static branch checks in Linux guests. Enabling or disabling a static branch in Linux uses the kernel's "text poke" code patching mechanism. To modify code while other CPUs may be executing that code, Linux (temporarily) replaces the first byte of the original instruction with an int3 (opcode 0xcc), then patches in the new code stream except for the first byte, and finally replaces the int3 with the first byte of the new code stream. If a CPU hits the int3, i.e. executes the code while it's being modified, then the guest kernel must look up the RIP to determine how to handle the #BP, e.g. by emulating the new instruction. If the RIP is incorrect, then this lookup fails and the guest kernel panics.
The bug reproduces almost instantly by hacking the guest kernel to repeatedly check a static branch[1] while running a drgn script[2] on the host to constantly swap out the memory containing the guest's TSS.
[1]: https://gist.github.com/osandov/44d17c51c28c0ac998ea0334edf90b5a [2]: https://gist.github.com/osandov/10e45e45afa29b11e0c7209247afc00b
Patch / fix
- Linux Linux 6.1.160, 6.6.120, 6.12.62, 6.17.12, 6.18.1, 6.19
- linux Debian 12 6.1.162-1
- linux Debian 13 6.12.63-1
- linux Debian 14 6.17.12-1
debian advisories DEBIAN-CVE-2025-68259
- linux Ubuntu 24.04 LTS 6.8.0-110.110
- linux Ubuntu 25.10 6.17.0-19.19
- linux-aws Ubuntu 24.04 LTS 6.8.0-1052.55
- linux-aws Ubuntu 25.10 6.17.0-1009.9
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1054.57
- linux-gcp Ubuntu 25.10 6.17.0-1009.9
- linux-gke Ubuntu 24.04 LTS 6.8.0-1050.56
- linux-ibm Ubuntu 24.04 LTS 6.8.0-1051.51
ubuntu advisories UBUNTU-CVE-2025-68259
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-40.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-40.1
- kernel-source Linux Micro 6.1, Linux Micro 6.0 6.4.0-39.1
- kernel-default Linux Micro 6.1, Linux Micro 6.0 6.4.0-39.1
- kernel-kvmsmall Linux Micro 6.1, Linux Micro 6.0 6.4.0-39.1
- kernel-default-base Linux Micro 6.1, Linux Micro 6.0 6.4.0-39.1.21.16
- kernel-rt Linux Micro 6.2 6.12.0-160000.9.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.9.1
suse advisories SUSE-SU-2026:20845-1SUSE-SU-2026:20876-1SUSE-SU-2026:20477-1SUSE-SU-2026:20498-1SUSE-SU-2026:20207-1SUSE-SU-2026:20220-1
- kernel-source-longterm openSUSE Tumbleweed 6.18.16-1.1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.9.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.9.1
opensuse advisories openSUSE-SU-2026:10301-1openSUSE-SU-2026:20145-1openSUSE-SU-2025:15836-1
- git.kernel.org/stable/c/2e84a018c2895c05abe213eb10db128aa45f6ec6 commit
- git.kernel.org/stable/c/152289a51107ef45bbfe9b4aeeaa584a503042b5 commit
- git.kernel.org/stable/c/87cc1622c88a4888959d64fa1fc9ba1e264aa3d4 commit
- git.kernel.org/stable/c/54bcccc2c7805a00af1d7d2faffd6f424c0133aa commit
- git.kernel.org/stable/c/53903ac9ca1abffa27327e85075ec496fa55ccf3 commit
- git.kernel.org/stable/c/4da3768e1820cf15cced390242d8789aed34f54d commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-68259 updated cvss 5.5
kernel: Linux kernel: Denial of Service in KVM due to incorrect software interrupt handling
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-08).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/2e84a018c2895c05abe213eb10db128aa45f6ec6
- git.kernel.org /stable/c/152289a51107ef45bbfe9b4aeeaa584a503042b5
- git.kernel.org /stable/c/87cc1622c88a4888959d64fa1fc9ba1e264aa3d4
- git.kernel.org /stable/c/54bcccc2c7805a00af1d7d2faffd6f424c0133aa
- git.kernel.org /stable/c/53903ac9ca1abffa27327e85075ec496fa55ccf3
- git.kernel.org /stable/c/4da3768e1820cf15cced390242d8789aed34f54d
Sources
- CVE List CVE-2025-68259
- NVD CVE-2025-68259
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.