rpms/kvm/F-8 kvm-cirrus-cve-2008-4539.patch, NONE, 1.1 kvm.spec, 1.35, 1.36

Glauber Costa glommer at fedoraproject.org
Tue Nov 11 15:55:17 UTC 2008


Author: glommer

Update of /cvs/pkgs/rpms/kvm/F-8
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24965

Modified Files:
	kvm.spec 
Added Files:
	kvm-cirrus-cve-2008-4539.patch 
Log Message:
- Fix CVE-2008-4539 #448524



kvm-cirrus-cve-2008-4539.patch:

--- NEW FILE kvm-cirrus-cve-2008-4539.patch ---
commit 8af1b920763da9802902603a17da9d5db1307b8d
Author: aurel32 <aurel32>
Date:   Sat Nov 1 00:53:39 2008 +0000

    CVE-2008-4539: fix a heap overflow in Cirrus emulation
    
    The code in hw/cirrus_vga.c has changed a lot between CVE-2007-1320 has
    been announced and the patch has been applied. As a consequence it has
    wrongly applied and QEMU is still vulnerable to this bug if using VNC.
    
    (noticed by Jan Niehusmann)
    
    Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>

diff --git a/qemu/hw/cirrus_vga.c b/qemu/hw/cirrus_vga.c
index 55f3ced..af9c9e6 100644
--- a/qemu/hw/cirrus_vga.c
+++ b/qemu/hw/cirrus_vga.c
@@ -785,15 +785,14 @@ static void cirrus_do_copy(CirrusVGAState *s, int dst, int src, int w, int h)
 
 static int cirrus_bitblt_videotovideo_copy(CirrusVGAState * s)
 {
+    if (BLTUNSAFE(s))
+        return 0;
+
     if (s->ds->dpy_copy) {
 	cirrus_do_copy(s, s->cirrus_blt_dstaddr - s->start_addr,
 		       s->cirrus_blt_srcaddr - s->start_addr,
 		       s->cirrus_blt_width, s->cirrus_blt_height);
     } else {
-
-    if (BLTUNSAFE(s))
-        return 0;
-
 	(*s->cirrus_rop) (s, s->vram_ptr +
                 (s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
 			  s->vram_ptr +


Index: kvm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kvm/F-8/kvm.spec,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- kvm.spec	27 May 2008 13:28:11 -0000	1.35
+++ kvm.spec	11 Nov 2008 15:54:47 -0000	1.36
@@ -1,7 +1,7 @@
 Summary: Kernel-based Virtual Machine
 Name: kvm
 Version: 60
-Release: 6%{?dist}
+Release: 7%{?dist}
 License: GPLv2+ and LGPLv2+
 Group: Development/Tools
 URL: http://%{name}.sf.net
@@ -12,6 +12,7 @@
 Patch3: %{name}-cirrus.patch
 Patch4: %{name}-60-pty-rawmode.patch
 Patch5: %{name}-cirrus-bitblt-overflow.patch
+Patch6: %{name}-cirrus-cve-2008-4539.patch
 # patches from upstream qemu
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: SDL-devel
@@ -45,6 +46,7 @@
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %build
 # we need to install the data bits in a different path
@@ -99,6 +101,9 @@
 %{_sysconfdir}/sysconfig/modules/%{name}.modules
 
 %changelog
+* Tue Nov 11 2008 Glauber Costa <gcosta at redhat.com> - 60-7.fc8
+- Fix CVE-2008-4539 #448524
+
 * Tue May 27 2008 Glauber Costa <gcosta at redhat.com> - 60-6.fc8
 - Fix Cirrus heap overflow vulnerability (#448524)
 




More information about the fedora-extras-commits mailing list