Bug 559091 (CVE-2010-0298)

Summary: CVE-2010-0298 kvm: emulator privilege escalation
Product: [Other] Security Response Reporter: Eugene Teo (Security Response) <eteo>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: acathrow, apevec, arozansk, bressers, cpelland, dhoward, ehabkost, gleb, jlieskov, jpirko, knoel, lihuang, lwang, mjc, mkenneth, mtosatti, pbonzini, pmatouse, security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-04-06 08:06:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 559093, 559095, 559096, 560903    
Bug Blocks:    
Attachments:
Description Flags
Proposed patch none

Description Eugene Teo (Security Response) 2010-01-27 06:10:02 UTC
Gleb Natapov found a bug in KVM that allows code that runs in CPL3 (inside a 
guest) to modify memory in CPL0 (inside a guest). The bug is in x86 emulator 
code. When emulator accesses guest's memory on behalf of the gust's code it does this with the CPL0 privilege, so if emulated instruction is executed by 
unprivileged code it can still modify memory that otherwise is not accessible to it. To tak advantage of this vulnerability malicious code should trick KVM to emulate malicious instruction.  KVM emulates IO and MMIO instructions, so if unprivileged process has access to some IO port or MMIO region (framebuffer for instance) the bug is very easy to use to modify arbitrary location in kernel memory.

Comment 2 Eugene Teo (Security Response) 2010-01-27 06:15:12 UTC
Created attachment 386981 [details]
Proposed patch

Comment 9 errata-xmlrpc 2010-02-09 10:01:54 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2010:0088 https://rhn.redhat.com/errata/RHSA-2010-0088.html

Comment 10 errata-xmlrpc 2010-02-09 15:24:06 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Virtualization for RHEL-5

Via RHSA-2010:0095 https://rhn.redhat.com/errata/RHSA-2010-0095.html

Comment 12 Eugene Teo (Security Response) 2010-11-22 09:11:42 UTC
Upstream commit:
http://git.kernel.org/linus/1871c6020d7308afb99127bba51f04548e7ca84e