Bug 560654 (CVE-2010-0306)

Summary: CVE-2010-0306 kvm: emulator privilege escalation IOPL/CPL level check
Product: [Other] Security Response Reporter: Petr Matousek <pmatouse>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: bressers, ehabkost, gleb, jlieskov, lihuang, mjc, mtosatti, pbonzini, 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-05 19:56:43 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: 560697, 560698, 560699, 560904    
Bug Blocks:    

Description Petr Matousek 2010-02-01 14:30:38 UTC
Gleb Napatov found a bug in KVM that can be used to bypass proper IOPL/CPL
checking. KVM relies on CPU to check IOPL/CPL before instruction execution, so
emulator doesn't do IOPL/CPL checking. Malicious guest process running in SMP
guest can bypass CPU IOPL/CPL checking if it has access to IO port or MMIO
region. To do so it should run legitimate instruction that does IO and will
cause vcpu to enter emulator in one thread and replace this instruction to
malicious one from another thread. If instruction is replaced after KVM
entered emulator, but before instruction is fetched emulator will be
tricked to execute privileged instruction without permission checking.

Comment 12 errata-xmlrpc 2010-02-09 10:01:56 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 14 errata-xmlrpc 2010-02-09 15:24:09 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