XSA-14

CVE-2012-3496


问题描述

xsa14

XENMEM_populate_physmap DoS vulnerability

XENMEM_populate_physmap can be called with invalid flags. By calling it with MEMF_populate_on_demand flag set, a BUG can be triggered if a translating paging mode is not being used.

false BUG_ON


Patch描述

http://xenbits.xen.org/hg/xen-4.1-testing.hg/rev/8ebda5388e4e

xen: Don’t BUG_ON() PoD operations on a non-translated guest.

--- a/xen/arch/x86/mm/p2m.c Wed Sep 05 12:28:17 2012 +0100
+++ b/xen/arch/x86/mm/p2m.c Wed Sep 05 12:29:05 2012 +0100
@@ -2414,7 +2414,8 @@ guest_physmap_mark_populate_on_demand(st
     int pod_count = 0;
     int rc = 0;
 
-    BUG_ON(!paging_mode_translate(d));
+    if ( !paging_mode_translate(d) )
+        return -EINVAL;
 
     rc = gfn_check_limit(d, gfn, order);
     if ( rc != 0 )

Consequence

A malicious guest kernel can crash the host.

DoS