Bugzilla – Bug 864650
VUL-0: CVE-2013-4150: qemu: virtio-net: out-of-bounds buffer write on invalid state load
Last modified: 2016-04-27 18:53:18 UTC
CVE-2013-4150 Michael S. Tsirkin writes: QEMU 1.5.0 out-of-bounds buffer write in virtio_net_load()@hw/net/virtio-net.c This code is in hw/net/virtio-net.c: if (n->max_queues > 1) { if (n->max_queues != qemu_get_be16(f)) { error_report("virtio-net: different max_queues "); return -1; } n->curr_queues = qemu_get_be16(f); for (i = 1; i < n->curr_queues; i++) { n->vqs[i].tx_waiting = qemu_get_be32(f); } } Number of vqs is max_queues, so if we get invalid input here, for example if max_queues = 2, curr_queues = 3, we get write beyond end of the buffer, with data that comes from wire. This might be used to corrupt qemu memory in hard to predict ways. An user able to alter the savevm data (either on the disk or over the wire during migration) could use this flaw to to corrupt QEMU process memory on the (destination) host, which could potentially result in arbitrary code execution on the host with the privileges of the QEMU process. References: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4150 https://bugzilla.redhat.com/show_bug.cgi?id=1066340
bugbot adjusting priority
This is an autogenerated message for OBS integration: This bug (864650) was mentioned in https://build.opensuse.org/request/show/235281 Factory / qemu
Update released for: kvm, kvm-debuginfo, kvm-debugsource Products: SLE-DESKTOP 11-SP3 (i386, x86_64) SLE-SERVER 11-SP3 (i386, s390x, x86_64)
SUSE-SU-2014:0816-1: An update that solves two vulnerabilities and has 20 fixes is now available. Category: security (moderate) Bug References: 864391,864649,864650,864653,864655,864665,864671,864673,864678,864682,864769,864796,864801,864802,864804,864805,864811,864812,864814,873235,874749,874788 CVE References: CVE-2014-0150,CVE-2014-2894 Sources used: SUSE Linux Enterprise Server 11 SP3 (src): kvm-1.4.2-0.15.2 SUSE Linux Enterprise Desktop 11 SP3 (src): kvm-1.4.2-0.15.2
fixed everywhere