Bug 1141131 (CVE-2014-3633)

Summary: CVE-2014-3633 libvirt: qemu: out-of-bounds read access in qemuDomainGetBlockIoTune() due to invalid index
Product: [Other] Security Response Reporter: Petr Matousek <pmatouse>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: aavati, carnil, chazlett, dyuan, hannsj_uhl, jdenemar, nlevinki, pkrempa, rbalakri, rfortier, security-response-team, shaines, smohan, ssaha, vbellur, virt-bugs, xuzhang, yanyang
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
An out-of-bounds read flaw was found in the way libvirt's qemuDomainGetBlockIoTune() function looked up the disk index in a non-persistent (live) disk configuration while a persistent disk configuration was being indexed. A remote attacker able to establish a read-only connection to libvirtd could use this flaw to crash libvirtd or, potentially, leak memory from the libvirtd process.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-18 21:49: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: 1140724, 1141134, 1143891, 1160278, 1160823    
Bug Blocks: 1141096, 1143903, 1160286    

Description Petr Matousek 2014-09-12 09:37:10 UTC
It was found that when a disk is attached to a disk "live" (thus not
written into the persistent configuration) and then the statistics for
the disks are requested from the persistent configuration, index to
the array is determined from the live configuration but used in the
persistent.

A remote attacker able to establish a read-only connection to libvirtd
could use this flaw to crash libvirtd or, potentially, leak memory from
the libvirtd process.

Acknowledgements:

This issue was discovered by Luyao Huang of Red Hat.

Comment 1 Petr Matousek 2014-09-12 09:38:43 UTC
Statement:

This issue does not affect the versions of libvirt packages as shipped with
Red Hat Enterprise Linux 5.

This issue does affect the versions of libvirt packages as shipped with Red Hat
Enterprise Linux 6 and 7. Future updates may address this issue in the
respective Red Hat Enterprise Linux releases.

Comment 5 Martin Prpič 2014-09-30 15:37:28 UTC
IssueDescription:

An out-of-bounds read flaw was found in the way libvirt's qemuDomainGetBlockIoTune() function looked up the disk index in a non-persistent (live) disk configuration while a persistent disk configuration was being indexed. A remote attacker able to establish a read-only connection to libvirtd could use this flaw to crash libvirtd or, potentially, leak memory from the libvirtd process.

Comment 6 errata-xmlrpc 2014-10-01 19:11:33 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2014:1352 https://rhn.redhat.com/errata/RHSA-2014-1352.html

Comment 8 Petr Matousek 2014-11-05 17:32:40 UTC
Created libvirt tracking bugs for this issue:

Affects: fedora-all [bug 1160823]

Comment 9 errata-xmlrpc 2014-11-18 18:09:11 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2014:1873 https://rhn.redhat.com/errata/RHSA-2014-1873.html

Comment 10 Fedora Update System 2014-11-22 12:37:10 UTC
libvirt-1.1.3.8-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.