aboutsummaryrefslogtreecommitdiffstats
path: root/main/xen/xsa106.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-10-23 09:28:52 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-10-23 09:48:32 +0000
commit9cba7900153b15f9070445e546fd8244cb2da8f1 (patch)
treecbccb037c3b72a9c8f240294fcc026759c8da37b /main/xen/xsa106.patch
parent256f4e7e9f920e61c9a0f213d108851dd6eee97c (diff)
downloadaports-2.5-stable.tar.bz2
aports-2.5-stable.tar.xz
main/xen: security upgrade to 4.2.5 and patches2.5-stable
The 4.2.5 release fixes: CVE-2014-2599 / XSA-89 HVMOP_set_mem_access is not preemptible CVE-2014-3124 / XSA-92 HVMOP_set_mem_type allows invalid P2M entries to be created CVE-2014-3967,CVE-2014-3968 / XSA-96 Vulnerabilities in HVM MSI injection CVE-2014-4021 / XSA-100 Hypervisor heap contents leaked to guests In addition we add patches for: CVE-2014-7154 / XSA-104 Race condition in HVMOP_track_dirty_vram CVE-2014-7155 / XSA-105 Missing privilege level checks in x86 HLT, LGDT, LIDT, and LMSW emulation CVE-2014-7156 / XSA-106 Missing privilege level checks in x86 emulation of software interrupts CVE-2014-7188 / XSA-108 Improper MSR range used for x2APIC emulation fixes #3412 fixes #3457
Diffstat (limited to 'main/xen/xsa106.patch')
-rw-r--r--main/xen/xsa106.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/main/xen/xsa106.patch b/main/xen/xsa106.patch
new file mode 100644
index 0000000000..436724dbc1
--- /dev/null
+++ b/main/xen/xsa106.patch
@@ -0,0 +1,23 @@
+x86emul: only emulate software interrupt injection for real mode
+
+Protected mode emulation currently lacks proper privilege checking of
+the referenced IDT entry, and there's currently no legitimate way for
+any of the respective instructions to reach the emulator when the guest
+is in protected mode.
+
+This is XSA-106.
+
+Reported-by: Andrei LUTAS <vlutas@bitdefender.com>
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Keir Fraser <keir@xen.org>
+
+--- a/xen/arch/x86/x86_emulate/x86_emulate.c
++++ b/xen/arch/x86/x86_emulate/x86_emulate.c
+@@ -2634,6 +2634,7 @@ x86_emulate(
+ case 0xcd: /* int imm8 */
+ src.val = insn_fetch_type(uint8_t);
+ swint:
++ fail_if(!in_realmode(ctxt, ops)); /* XSA-106 */
+ fail_if(ops->inject_sw_interrupt == NULL);
+ rc = ops->inject_sw_interrupt(src.val, _regs.eip - ctxt->regs->eip,
+ ctxt) ? : X86EMUL_EXCEPTION;