CVE-2012-0045: Medium severity Linux Linux kernel vulnerability
32bit guests will crash (and 64bit guests may behave in a wrong way) for example by simply executing following nasm-demo-application:
[bits 32] global start SECTION .text start: syscall
The reason seems a missing "invalid opcode"-trap (int6) for the syscall opcode "0f05", which is not available on Intel CPUs within non-longmodes, as also on some AMD CPUs within legacy-mode. (depending on CPU vendor, MSREFER and cpuid)
Because previous mentioned OSs may not engage corresponding syscall target-registers (STAR, LSTAR, CSTAR), they remain NULL and (non trapping) syscalls are leading to multiple faults and finally crashs.
Reference: https://lkml.org/lkml/2011/12/28/170 http://www.spinics.net/lists/kvm/msg66633.html
Proposed patch: http://www.spinics.net/lists/kvm/msg66633.html
Acknowledgements:
Red Hat would like to thank Stephan Bärwolf for reporting this issue.
Other sources
The emsyscall 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.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2012-0045?
CVE-2012-0045 has a medium severity as it can cause crashes in 32-bit guests and incorrect behavior in 64-bit guests.
How do I fix CVE-2012-0045?
To fix CVE-2012-0045, upgrading the Linux kernel to version 3.2.14 or later is recommended.
What types of systems are affected by CVE-2012-0045?
CVE-2012-0045 affects Linux kernel versions up to 3.2.13, specifically 32-bit and some 64-bit guests running on virtualized environments.
What can happen if CVE-2012-0045 is exploited?
If CVE-2012-0045 is exploited, it can lead to system crashes or malfunctions, affecting stability and availability.
Are there any known workarounds for CVE-2012-0045?
There are no widely recommended workarounds for CVE-2012-0045 other than upgrading the kernel to the patched version.