* gnu/packages/patches/qemu-CVE-2017-8112.patch, gnu/packages/patches/qemu-CVE-2017-8309.patch, gnu/packages/patches/qemu-CVE-2017-8379.patch, gnu/packages/patches/qemu-CVE-2017-8380.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/qemu.scm (qemu)[source]: Use them.
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
Fix CVE-2017-8112:
 | 
						|
 | 
						|
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8112
 | 
						|
 | 
						|
Patch copied from upstream source repository:
 | 
						|
 | 
						|
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=f68826989cd4d1217797251339579c57b3c0934e
 | 
						|
 | 
						|
From f68826989cd4d1217797251339579c57b3c0934e Mon Sep 17 00:00:00 2001
 | 
						|
From: P J P <ppandit@redhat.com>
 | 
						|
Date: Tue, 25 Apr 2017 18:36:23 +0530
 | 
						|
Subject: [PATCH] vmw_pvscsi: check message ring page count at initialisation
 | 
						|
 | 
						|
A guest could set the message ring page count to zero, resulting in
 | 
						|
infinite loop. Add check to avoid it.
 | 
						|
 | 
						|
Reported-by: YY Z <bigbird475958471@gmail.com>
 | 
						|
Signed-off-by: P J P <ppandit@redhat.com>
 | 
						|
Message-Id: <20170425130623.3649-1-ppandit@redhat.com>
 | 
						|
Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
 | 
						|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
 | 
						|
---
 | 
						|
 hw/scsi/vmw_pvscsi.c | 2 +-
 | 
						|
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
						|
 | 
						|
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
 | 
						|
index 75575461e2..4a106da856 100644
 | 
						|
--- a/hw/scsi/vmw_pvscsi.c
 | 
						|
+++ b/hw/scsi/vmw_pvscsi.c
 | 
						|
@@ -202,7 +202,7 @@ pvscsi_ring_init_msg(PVSCSIRingInfo *m, PVSCSICmdDescSetupMsgRing *ri)
 | 
						|
     uint32_t len_log2;
 | 
						|
     uint32_t ring_size;
 | 
						|
 
 | 
						|
-    if (ri->numPages > PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES) {
 | 
						|
+    if (!ri->numPages || ri->numPages > PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES) {
 | 
						|
         return -1;
 | 
						|
     }
 | 
						|
     ring_size = ri->numPages * PVSCSI_MAX_NUM_MSG_ENTRIES_PER_PAGE;
 | 
						|
-- 
 | 
						|
2.13.0
 | 
						|
 |