Description
The em_syscall function in arch/x86/kvm/emulate.c in the KVM implementation in the Linux kernel before 3.2.14 does not properly handle the 0f05 (aka syscall) opcode, which allows guest OS users to cause a denial of service (guest OS crash) via a crafted application, as demonstrated by an NASM file.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 6.0 | linux-2.6 | 2.6.32-41squeeze2 | DSA-2443-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 6 | perf +15 | 2.6.32-220.7.1.el6 | RHSA-2012:0350 |
| RHEL 6 | rhev-hypervisor6 +1 | 6.2-20120320.0.el6_2 | RHSA-2012:0422 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Exploit-DB 1
- Linux Kernel 3.1.8 - KVM Local Denial of Service EDB-36545 · dos · Dec 29, 2011 · verified
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 3
- RHSA-2012:0422 Red Hat Security Advisory: rhev-hypervisor6 security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2012:0350 Red Hat Security Advisory: kernel security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- DSA-2443-1 linux-2.6 - several Debian Security (DSA / DLA) · Mar 9, 2026
References
- http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.14
- http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git%3Ba=commit%3Bh=c2226fc9e87ba3da060e47333657cd6616652b84
- https://bugzilla.redhat.com/show_bug.cgi?id=773370
- SUSE-SU-2012:0616 vendor-advisory
- [oss-security] 20120111 Re: CVE request -- kernel: kvm: syscall instruction induced guest panic mailing-list
- https://github.com/torvalds/linux/commit/c2226fc9e87ba3da060e47333657cd6616652b84