Vulnerabilities > CVE-2010-0297 - Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in Qemu

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN

Summary

Buffer overflow in the usb_host_handle_control function in the USB passthrough handling implementation in usb-linux.c in QEMU before 0.11.1 allows guest OS users to cause a denial of service (guest OS crash or hang) or possibly execute arbitrary code on the host OS via a crafted USB packet.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Buffer Overflow via Environment Variables
    This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • Client-side Injection-induced Buffer Overflow
    This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
  • Filter Failure through Buffer Overflow
    In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
  • MIME Conversion
    An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.

Nessus

  • NASL familyOracle Linux Local Security Checks
    NASL idORACLELINUX_ELSA-2010-0088.NASL
    descriptionFrom Red Hat Security Advisory 2010:0088 : Updated kvm packages that fix multiple security issues and several bugs are now available for Red Hat Enterprise Linux 5. This update has been rated as having important security impact by the Red Hat Security Response Team. KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module built for the standard Red Hat Enterprise Linux kernel. The x86 emulator implementation was missing a check for the Current Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a guest could leverage these flaws to cause a denial of service (guest crash) or possibly escalate their privileges within that guest. (CVE-2010-0298, CVE-2010-0306) A flaw was found in the Programmable Interval Timer (PIT) emulation. Access to the internal data structure pit_state, which represents the data state of the emulated PIT, was not properly validated in the pit_ioport_read() function. A privileged guest user could use this flaw to crash the host. (CVE-2010-0309) A flaw was found in the USB passthrough handling code. A specially crafted USB packet sent from inside a guest could be used to trigger a buffer overflow in the usb_host_handle_control() function, which runs under the QEMU-KVM context on the host. A user in a guest could leverage this flaw to cause a denial of service (guest hang or crash) or possibly escalate their privileges within the host. (CVE-2010-0297) This update also fixes the following bugs : * pvclock MSR values were not preserved during remote migration, causing time drift for guests. (BZ#537028) * SMBIOS table 4 data is now generated for Windows guests. (BZ#545874) * if the qemu-kvm
    last seen2020-06-01
    modified2020-06-02
    plugin id67993
    published2013-07-12
    reporterThis script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/67993
    titleOracle Linux 5 : kvm (ELSA-2010-0088)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Red Hat Security Advisory RHSA-2010:0088 and 
    # Oracle Linux Security Advisory ELSA-2010-0088 respectively.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(67993);
      script_version("1.15");
      script_cvs_date("Date: 2019/10/25 13:36:08");
    
      script_cve_id("CVE-2010-0297", "CVE-2010-0298", "CVE-2010-0306", "CVE-2010-0309");
      script_xref(name:"RHSA", value:"2010:0088");
    
      script_name(english:"Oracle Linux 5 : kvm (ELSA-2010-0088)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Oracle Linux host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "From Red Hat Security Advisory 2010:0088 :
    
    Updated kvm packages that fix multiple security issues and several
    bugs are now available for Red Hat Enterprise Linux 5.
    
    This update has been rated as having important security impact by the
    Red Hat Security Response Team.
    
    KVM (Kernel-based Virtual Machine) is a full virtualization solution
    for Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module
    built for the standard Red Hat Enterprise Linux kernel.
    
    The x86 emulator implementation was missing a check for the Current
    Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a
    guest could leverage these flaws to cause a denial of service (guest
    crash) or possibly escalate their privileges within that guest.
    (CVE-2010-0298, CVE-2010-0306)
    
    A flaw was found in the Programmable Interval Timer (PIT) emulation.
    Access to the internal data structure pit_state, which represents the
    data state of the emulated PIT, was not properly validated in the
    pit_ioport_read() function. A privileged guest user could use this
    flaw to crash the host. (CVE-2010-0309)
    
    A flaw was found in the USB passthrough handling code. A specially
    crafted USB packet sent from inside a guest could be used to trigger a
    buffer overflow in the usb_host_handle_control() function, which runs
    under the QEMU-KVM context on the host. A user in a guest could
    leverage this flaw to cause a denial of service (guest hang or crash)
    or possibly escalate their privileges within the host. (CVE-2010-0297)
    
    This update also fixes the following bugs :
    
    * pvclock MSR values were not preserved during remote migration,
    causing time drift for guests. (BZ#537028)
    
    * SMBIOS table 4 data is now generated for Windows guests. (BZ#545874)
    
    * if the qemu-kvm '-net user' option was used, unattended Windows XP
    installations did not receive an IP address after reboot. (BZ#546562)
    
    * when being restored from migration, a race condition caused Windows
    Server 2008 R2 guests to hang during shutdown. (BZ#546563)
    
    * the kernel symbol checking on the kvm-kmod build process has a
    safety check for ABI changes. (BZ#547293)
    
    * on hosts without high-res timers, Windows Server 2003 guests
    experienced significant time drift. (BZ#547625)
    
    * in some situations, installing Windows Server 2008 R2 from an ISO
    image resulted in a blue screen 'BAD_POOL_HEADER' stop error.
    (BZ#548368)
    
    * a bug in the grow_refcount_table() error handling caused infinite
    recursion in some cases. This caused the qemu-kvm process to hang and
    eventually crash. (BZ#552159)
    
    * for Windows Server 2003 R2, Service Pack 2, 32-bit guests, an
    'unhandled vm exit' error could occur during reboot on some systems.
    (BZ#552518)
    
    * for Windows guests, QEMU could attempt to stop a stopped audio
    device, resulting in a 'snd_playback_stop: ASSERT
    playback_channel->base.active failed' error. (BZ#552519)
    
    * the Hypercall driver did not reset the device on power-down.
    (BZ#552528)
    
    * mechanisms have been added to make older savevm versions to be
    emitted in some cases. (BZ#552529)
    
    * an error in the Makefile prevented users from using the source RPM
    to install KVM. (BZ#552530)
    
    * guests became unresponsive and could use up to 100% CPU when running
    certain benchmark tests with more than 7 guests running
    simultaneously. (BZ#553249)
    
    * QEMU could terminate randomly with virtio-net and SMP enabled.
    (BZ#561022)
    
    All KVM users should upgrade to these updated packages, which contain
    backported patches to resolve these issues. Note: The procedure in the
    Solution section must be performed before this update will take
    effect."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://oss.oracle.com/pipermail/el-errata/2010-February/001350.html"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected kvm packages.");
      script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
      script_cwe_id(16, 119, 264);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:kmod-kvm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:kvm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:kvm-qemu-img");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:kvm-tools");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:oracle:linux:5");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2010/02/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2010/02/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2013/07/12");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Oracle Linux Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/OracleLinux", "Host/RedHat/release", "Host/RedHat/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/OracleLinux")) audit(AUDIT_OS_NOT, "Oracle Linux");
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || !pregmatch(pattern: "Oracle (?:Linux Server|Enterprise Linux)", string:release)) audit(AUDIT_OS_NOT, "Oracle Linux");
    os_ver = pregmatch(pattern: "Oracle (?:Linux Server|Enterprise Linux) .*release ([0-9]+(\.[0-9]+)?)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Oracle Linux");
    os_ver = os_ver[1];
    if (! preg(pattern:"^5([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Oracle Linux 5", "Oracle Linux " + os_ver);
    
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && "ia64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Oracle Linux", cpu);
    if ("x86_64" >!< cpu) audit(AUDIT_ARCH_NOT, "x86_64", cpu);
    
    flag = 0;
    if (rpm_check(release:"EL5", cpu:"x86_64", reference:"kmod-kvm-83-105.0.1.el5_4.22")) flag++;
    if (rpm_check(release:"EL5", cpu:"x86_64", reference:"kvm-83-105.0.1.el5_4.22")) flag++;
    if (rpm_check(release:"EL5", cpu:"x86_64", reference:"kvm-qemu-img-83-105.0.1.el5_4.22")) flag++;
    if (rpm_check(release:"EL5", cpu:"x86_64", reference:"kvm-tools-83-105.0.1.el5_4.22")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "kmod-kvm / kvm / kvm-qemu-img / kvm-tools");
    }
    
  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2010-0088.NASL
    descriptionUpdated kvm packages that fix multiple security issues and several bugs are now available for Red Hat Enterprise Linux 5. This update has been rated as having important security impact by the Red Hat Security Response Team. KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module built for the standard Red Hat Enterprise Linux kernel. The x86 emulator implementation was missing a check for the Current Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a guest could leverage these flaws to cause a denial of service (guest crash) or possibly escalate their privileges within that guest. (CVE-2010-0298, CVE-2010-0306) A flaw was found in the Programmable Interval Timer (PIT) emulation. Access to the internal data structure pit_state, which represents the data state of the emulated PIT, was not properly validated in the pit_ioport_read() function. A privileged guest user could use this flaw to crash the host. (CVE-2010-0309) A flaw was found in the USB passthrough handling code. A specially crafted USB packet sent from inside a guest could be used to trigger a buffer overflow in the usb_host_handle_control() function, which runs under the QEMU-KVM context on the host. A user in a guest could leverage this flaw to cause a denial of service (guest hang or crash) or possibly escalate their privileges within the host. (CVE-2010-0297) This update also fixes the following bugs : * pvclock MSR values were not preserved during remote migration, causing time drift for guests. (BZ#537028) * SMBIOS table 4 data is now generated for Windows guests. (BZ#545874) * if the qemu-kvm
    last seen2020-06-01
    modified2020-06-02
    plugin id63916
    published2013-01-24
    reporterThis script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/63916
    titleRHEL 5 : kvm (RHSA-2010:0088)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Red Hat Security Advisory RHSA-2010:0088. The text 
    # itself is copyright (C) Red Hat, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(63916);
      script_version("1.23");
      script_cvs_date("Date: 2019/10/25 13:36:14");
    
      script_cve_id("CVE-2010-0297", "CVE-2010-0298", "CVE-2010-0306", "CVE-2010-0309");
      script_xref(name:"RHSA", value:"2010:0088");
    
      script_name(english:"RHEL 5 : kvm (RHSA-2010:0088)");
      script_summary(english:"Checks the rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Red Hat host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Updated kvm packages that fix multiple security issues and several
    bugs are now available for Red Hat Enterprise Linux 5.
    
    This update has been rated as having important security impact by the
    Red Hat Security Response Team.
    
    KVM (Kernel-based Virtual Machine) is a full virtualization solution
    for Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module
    built for the standard Red Hat Enterprise Linux kernel.
    
    The x86 emulator implementation was missing a check for the Current
    Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a
    guest could leverage these flaws to cause a denial of service (guest
    crash) or possibly escalate their privileges within that guest.
    (CVE-2010-0298, CVE-2010-0306)
    
    A flaw was found in the Programmable Interval Timer (PIT) emulation.
    Access to the internal data structure pit_state, which represents the
    data state of the emulated PIT, was not properly validated in the
    pit_ioport_read() function. A privileged guest user could use this
    flaw to crash the host. (CVE-2010-0309)
    
    A flaw was found in the USB passthrough handling code. A specially
    crafted USB packet sent from inside a guest could be used to trigger a
    buffer overflow in the usb_host_handle_control() function, which runs
    under the QEMU-KVM context on the host. A user in a guest could
    leverage this flaw to cause a denial of service (guest hang or crash)
    or possibly escalate their privileges within the host. (CVE-2010-0297)
    
    This update also fixes the following bugs :
    
    * pvclock MSR values were not preserved during remote migration,
    causing time drift for guests. (BZ#537028)
    
    * SMBIOS table 4 data is now generated for Windows guests. (BZ#545874)
    
    * if the qemu-kvm '-net user' option was used, unattended Windows XP
    installations did not receive an IP address after reboot. (BZ#546562)
    
    * when being restored from migration, a race condition caused Windows
    Server 2008 R2 guests to hang during shutdown. (BZ#546563)
    
    * the kernel symbol checking on the kvm-kmod build process has a
    safety check for ABI changes. (BZ#547293)
    
    * on hosts without high-res timers, Windows Server 2003 guests
    experienced significant time drift. (BZ#547625)
    
    * in some situations, installing Windows Server 2008 R2 from an ISO
    image resulted in a blue screen 'BAD_POOL_HEADER' stop error.
    (BZ#548368)
    
    * a bug in the grow_refcount_table() error handling caused infinite
    recursion in some cases. This caused the qemu-kvm process to hang and
    eventually crash. (BZ#552159)
    
    * for Windows Server 2003 R2, Service Pack 2, 32-bit guests, an
    'unhandled vm exit' error could occur during reboot on some systems.
    (BZ#552518)
    
    * for Windows guests, QEMU could attempt to stop a stopped audio
    device, resulting in a 'snd_playback_stop: ASSERT
    playback_channel->base.active failed' error. (BZ#552519)
    
    * the Hypercall driver did not reset the device on power-down.
    (BZ#552528)
    
    * mechanisms have been added to make older savevm versions to be
    emitted in some cases. (BZ#552529)
    
    * an error in the Makefile prevented users from using the source RPM
    to install KVM. (BZ#552530)
    
    * guests became unresponsive and could use up to 100% CPU when running
    certain benchmark tests with more than 7 guests running
    simultaneously. (BZ#553249)
    
    * QEMU could terminate randomly with virtio-net and SMP enabled.
    (BZ#561022)
    
    All KVM users should upgrade to these updated packages, which contain
    backported patches to resolve these issues. Note: The procedure in the
    Solution section must be performed before this update will take
    effect."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2010-0297"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2010-0298"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2010-0306"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2010-0309"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/errata/RHSA-2010:0088"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
      script_cwe_id(16, 119, 264);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kmod-kvm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kvm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kvm-qemu-img");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kvm-tools");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:5");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:5.4");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2010/02/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2010/02/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2013/01/24");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Red Hat Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat");
    os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");
    os_ver = os_ver[1];
    if (! preg(pattern:"^5([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 5.x", "Red Hat " + os_ver);
    
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu);
    if ("x86_64" >!< cpu) audit(AUDIT_ARCH_NOT, "x86_64", cpu);
    
    yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
    if (!empty_or_null(yum_updateinfo)) 
    {
      rhsa = "RHSA-2010:0088";
      yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
      if (!empty_or_null(yum_report))
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_HOLE,
          extra      : yum_report 
        );
        exit(0);
      }
      else
      {
        audit_message = "affected by Red Hat security advisory " + rhsa;
        audit(AUDIT_OS_NOT, audit_message);
      }
    }
    else
    {
      flag = 0;
      if (rpm_check(release:"RHEL5", cpu:"x86_64", reference:"kmod-kvm-83-105.el5_4.22")) flag++;
    
      if (rpm_check(release:"RHEL5", cpu:"x86_64", reference:"kvm-83-105.el5_4.22")) flag++;
    
      if (rpm_check(release:"RHEL5", cpu:"x86_64", reference:"kvm-qemu-img-83-105.el5_4.22")) flag++;
    
      if (rpm_check(release:"RHEL5", cpu:"x86_64", reference:"kvm-tools-83-105.el5_4.22")) flag++;
    
    
      if (flag)
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_HOLE,
          extra      : rpm_report_get() + redhat_report_package_caveat()
        );
        exit(0);
      }
      else
      {
        tested = pkg_tests_get();
        if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
        else audit(AUDIT_PACKAGE_NOT_INSTALLED, "kmod-kvm / kvm / kvm-qemu-img / kvm-tools");
      }
    }
    
  • NASL familyScientific Linux Local Security Checks
    NASL idSL_20100209_KVM_ON_SL5_4.NASL
    descriptionThe x86 emulator implementation was missing a check for the Current Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a guest could leverage these flaws to cause a denial of service (guest crash) or possibly escalate their privileges within that guest. (CVE-2010-0298, CVE-2010-0306) A flaw was found in the Programmable Interval Timer (PIT) emulation. Access to the internal data structure pit_state, which represents the data state of the emulated PIT, was not properly validated in the pit_ioport_read() function. A privileged guest user could use this flaw to crash the host. (CVE-2010-0309) A flaw was found in the USB passthrough handling code. A specially crafted USB packet sent from inside a guest could be used to trigger a buffer overflow in the usb_host_handle_control() function, which runs under the QEMU-KVM context on the host. A user in a guest could leverage this flaw to cause a denial of service (guest hang or crash) or possibly escalate their privileges within the host. (CVE-2010-0297) This update also fixes the following bugs : - pvclock MSR values were not preserved during remote migration, causing time drift for guests. (BZ#537028) - SMBIOS table 4 data is now generated for Windows guests. (BZ#545874) - if the qemu-kvm
    last seen2020-06-01
    modified2020-06-02
    plugin id60730
    published2012-08-01
    reporterThis script is Copyright (C) 2012-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/60730
    titleScientific Linux Security Update : kvm on SL5.4 i386/x86_64
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text is (C) Scientific Linux.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(60730);
      script_version("1.13");
      script_cvs_date("Date: 2019/10/25 13:36:18");
    
      script_cve_id("CVE-2010-0297", "CVE-2010-0298", "CVE-2010-0306", "CVE-2010-0309");
    
      script_name(english:"Scientific Linux Security Update : kvm on SL5.4 i386/x86_64");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Scientific Linux host is missing one or more security
    updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The x86 emulator implementation was missing a check for the Current
    Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a
    guest could leverage these flaws to cause a denial of service (guest
    crash) or possibly escalate their privileges within that guest.
    (CVE-2010-0298, CVE-2010-0306)
    
    A flaw was found in the Programmable Interval Timer (PIT) emulation.
    Access to the internal data structure pit_state, which represents the
    data state of the emulated PIT, was not properly validated in the
    pit_ioport_read() function. A privileged guest user could use this
    flaw to crash the host. (CVE-2010-0309)
    
    A flaw was found in the USB passthrough handling code. A specially
    crafted USB packet sent from inside a guest could be used to trigger a
    buffer overflow in the usb_host_handle_control() function, which runs
    under the QEMU-KVM context on the host. A user in a guest could
    leverage this flaw to cause a denial of service (guest hang or crash)
    or possibly escalate their privileges within the host. (CVE-2010-0297)
    
    This update also fixes the following bugs :
    
      - pvclock MSR values were not preserved during remote
        migration, causing time drift for guests. (BZ#537028)
    
      - SMBIOS table 4 data is now generated for Windows guests.
        (BZ#545874)
    
      - if the qemu-kvm '-net user' option was used, unattended
        Windows XP installations did not receive an IP address
        after reboot. (BZ#546562)
    
      - when being restored from migration, a race condition
        caused Windows Server 2008 R2 guests to hang during
        shutdown. (BZ#546563)
    
      - the kernel symbol checking on the kvm-kmod build process
        has a safety check for ABI changes. (BZ#547293)
    
      - on hosts without high-res timers, Windows Server 2003
        guests experienced significant time drift. (BZ#547625)
    
      - in some situations, installing Windows Server 2008 R2
        from an ISO image resulted in a blue screen
        'BAD_POOL_HEADER' stop error. (BZ#548368)
    
      - a bug in the grow_refcount_table() error handling caused
        infinite recursion in some cases. This caused the
        qemu-kvm process to hang and eventually crash.
        (BZ#552159)
    
      - for Windows Server 2003 R2, Service Pack 2, 32-bit
        guests, an 'unhandled vm exit' error could occur during
        reboot on some systems. (BZ#552518)
    
      - for Windows guests, QEMU could attempt to stop a stopped
        audio device, resulting in a 'snd_playback_stop: ASSERT
        playback_channel->base.active failed' error. (BZ#552519)
    
      - the Hypercall driver did not reset the device on
        power-down. (BZ#552528)
    
      - mechanisms have been added to make older savevm versions
        to be emitted in some cases. (BZ#552529)
    
      - an error in the Makefile prevented users from using the
        source RPM to install KVM. (BZ#552530)
    
      - guests became unresponsive and could use up to 100% CPU
        when running certain benchmark tests with more than 7
        guests running simultaneously. (BZ#553249)
    
      - QEMU could terminate randomly with virtio-net and SMP
        enabled. (BZ#561022)
    
    NOTE - The following procedure must be performed before this update
    will take effect :
    
    1) Stop all KVM guest virtual machines.
    
    2) Either reboot the hypervisor machine or, as the root user, remove
    (using 'modprobe -r [module]') and reload (using 'modprobe [module]')
    all of the following modules which are currently running (determined
    using 'lsmod'): kvm, ksm, kvm-intel or kvm-amd.
    
    3) Restart the KVM guest virtual machines."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=537028"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=545874"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=546562"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=546563"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=547293"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=547625"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=548368"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=552159"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=552518"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=552519"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=552528"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=552529"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=552530"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=553249"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.redhat.com/show_bug.cgi?id=561022"
      );
      # https://listserv.fnal.gov/scripts/wa.exe?A2=ind1002&L=scientific-linux-errata&T=0&P=525
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?dc42700f"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
      script_cwe_id(16, 119, 264);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"x-cpe:/o:fermilab:scientific_linux");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2010/02/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2010/02/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2012/08/01");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2012-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Scientific Linux Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/RedHat/release", "Host/RedHat/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Scientific Linux " >!< release) audit(AUDIT_HOST_NOT, "running Scientific Linux");
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu >!< "x86_64" && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Scientific Linux", cpu);
    
    
    flag = 0;
    if (rpm_check(release:"SL5", cpu:"x86_64", reference:"kmod-kvm-83-105.el5_4.22")) flag++;
    if (rpm_check(release:"SL5", cpu:"x86_64", reference:"kvm-83-105.el5_4.22")) flag++;
    if (rpm_check(release:"SL5", cpu:"x86_64", reference:"kvm-qemu-img-83-105.el5_4.22")) flag++;
    if (rpm_check(release:"SL5", cpu:"x86_64", reference:"kvm-tools-83-105.el5_4.22")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyCentOS Local Security Checks
    NASL idCENTOS_RHSA-2010-0088.NASL
    descriptionUpdated kvm packages that fix multiple security issues and several bugs are now available for Red Hat Enterprise Linux 5. This update has been rated as having important security impact by the Red Hat Security Response Team. KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module built for the standard Red Hat Enterprise Linux kernel. The x86 emulator implementation was missing a check for the Current Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a guest could leverage these flaws to cause a denial of service (guest crash) or possibly escalate their privileges within that guest. (CVE-2010-0298, CVE-2010-0306) A flaw was found in the Programmable Interval Timer (PIT) emulation. Access to the internal data structure pit_state, which represents the data state of the emulated PIT, was not properly validated in the pit_ioport_read() function. A privileged guest user could use this flaw to crash the host. (CVE-2010-0309) A flaw was found in the USB passthrough handling code. A specially crafted USB packet sent from inside a guest could be used to trigger a buffer overflow in the usb_host_handle_control() function, which runs under the QEMU-KVM context on the host. A user in a guest could leverage this flaw to cause a denial of service (guest hang or crash) or possibly escalate their privileges within the host. (CVE-2010-0297) This update also fixes the following bugs : * pvclock MSR values were not preserved during remote migration, causing time drift for guests. (BZ#537028) * SMBIOS table 4 data is now generated for Windows guests. (BZ#545874) * if the qemu-kvm
    last seen2020-06-01
    modified2020-06-02
    plugin id44427
    published2010-02-10
    reporterThis script is Copyright (C) 2010-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/44427
    titleCentOS 5 : kvm (CESA-2010:0088)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Red Hat Security Advisory RHSA-2010:0088 and 
    # CentOS Errata and Security Advisory 2010:0088 respectively.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(44427);
      script_version("1.22");
      script_cvs_date("Date: 2019/10/25 13:36:05");
    
      script_cve_id("CVE-2010-0297", "CVE-2010-0298", "CVE-2010-0306", "CVE-2010-0309");
      script_xref(name:"RHSA", value:"2010:0088");
    
      script_name(english:"CentOS 5 : kvm (CESA-2010:0088)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote CentOS host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Updated kvm packages that fix multiple security issues and several
    bugs are now available for Red Hat Enterprise Linux 5.
    
    This update has been rated as having important security impact by the
    Red Hat Security Response Team.
    
    KVM (Kernel-based Virtual Machine) is a full virtualization solution
    for Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module
    built for the standard Red Hat Enterprise Linux kernel.
    
    The x86 emulator implementation was missing a check for the Current
    Privilege Level (CPL) and I/O Privilege Level (IOPL). A user in a
    guest could leverage these flaws to cause a denial of service (guest
    crash) or possibly escalate their privileges within that guest.
    (CVE-2010-0298, CVE-2010-0306)
    
    A flaw was found in the Programmable Interval Timer (PIT) emulation.
    Access to the internal data structure pit_state, which represents the
    data state of the emulated PIT, was not properly validated in the
    pit_ioport_read() function. A privileged guest user could use this
    flaw to crash the host. (CVE-2010-0309)
    
    A flaw was found in the USB passthrough handling code. A specially
    crafted USB packet sent from inside a guest could be used to trigger a
    buffer overflow in the usb_host_handle_control() function, which runs
    under the QEMU-KVM context on the host. A user in a guest could
    leverage this flaw to cause a denial of service (guest hang or crash)
    or possibly escalate their privileges within the host. (CVE-2010-0297)
    
    This update also fixes the following bugs :
    
    * pvclock MSR values were not preserved during remote migration,
    causing time drift for guests. (BZ#537028)
    
    * SMBIOS table 4 data is now generated for Windows guests. (BZ#545874)
    
    * if the qemu-kvm '-net user' option was used, unattended Windows XP
    installations did not receive an IP address after reboot. (BZ#546562)
    
    * when being restored from migration, a race condition caused Windows
    Server 2008 R2 guests to hang during shutdown. (BZ#546563)
    
    * the kernel symbol checking on the kvm-kmod build process has a
    safety check for ABI changes. (BZ#547293)
    
    * on hosts without high-res timers, Windows Server 2003 guests
    experienced significant time drift. (BZ#547625)
    
    * in some situations, installing Windows Server 2008 R2 from an ISO
    image resulted in a blue screen 'BAD_POOL_HEADER' stop error.
    (BZ#548368)
    
    * a bug in the grow_refcount_table() error handling caused infinite
    recursion in some cases. This caused the qemu-kvm process to hang and
    eventually crash. (BZ#552159)
    
    * for Windows Server 2003 R2, Service Pack 2, 32-bit guests, an
    'unhandled vm exit' error could occur during reboot on some systems.
    (BZ#552518)
    
    * for Windows guests, QEMU could attempt to stop a stopped audio
    device, resulting in a 'snd_playback_stop: ASSERT
    playback_channel->base.active failed' error. (BZ#552519)
    
    * the Hypercall driver did not reset the device on power-down.
    (BZ#552528)
    
    * mechanisms have been added to make older savevm versions to be
    emitted in some cases. (BZ#552529)
    
    * an error in the Makefile prevented users from using the source RPM
    to install KVM. (BZ#552530)
    
    * guests became unresponsive and could use up to 100% CPU when running
    certain benchmark tests with more than 7 guests running
    simultaneously. (BZ#553249)
    
    * QEMU could terminate randomly with virtio-net and SMP enabled.
    (BZ#561022)
    
    All KVM users should upgrade to these updated packages, which contain
    backported patches to resolve these issues. Note: The procedure in the
    Solution section must be performed before this update will take
    effect."
      );
      # https://lists.centos.org/pipermail/centos-announce/2010-February/016494.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?73c1b030"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected kvm packages.");
      script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
      script_cwe_id(16, 119, 264);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kmod-kvm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kvm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kvm-qemu-img");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kvm-tools");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:centos:centos:5");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2010/02/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2010/02/09");
      script_set_attribute(attribute:"plugin_publication_date", value:"2010/02/10");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2010-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"CentOS Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/CentOS/release", "Host/CentOS/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/CentOS/release");
    if (isnull(release) || "CentOS" >!< release) audit(AUDIT_OS_NOT, "CentOS");
    os_ver = pregmatch(pattern: "CentOS(?: Linux)? release ([0-9]+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "CentOS");
    os_ver = os_ver[1];
    if (! preg(pattern:"^5([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "CentOS 5.x", "CentOS " + os_ver);
    
    if (!get_kb_item("Host/CentOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "CentOS", cpu);
    
    
    flag = 0;
    if (rpm_check(release:"CentOS-5", cpu:"x86_64", reference:"kmod-kvm-83-105.el5_4.22")) flag++;
    if (rpm_check(release:"CentOS-5", cpu:"x86_64", reference:"kvm-83-105.el5_4.22")) flag++;
    if (rpm_check(release:"CentOS-5", cpu:"x86_64", reference:"kvm-qemu-img-83-105.el5_4.22")) flag++;
    if (rpm_check(release:"CentOS-5", cpu:"x86_64", reference:"kvm-tools-83-105.el5_4.22")) flag++;
    
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "kmod-kvm / kvm / kvm-qemu-img / kvm-tools");
    }
    

Oval

accepted2013-04-29T04:15:45.784-04:00
classvulnerability
contributors
  • nameAharon Chernin
    organizationSCAP.com, LLC
  • nameDragos Prisaca
    organizationG2, Inc.
definition_extensions
  • commentThe operating system installed on the system is Red Hat Enterprise Linux 5
    ovaloval:org.mitre.oval:def:11414
  • commentThe operating system installed on the system is CentOS Linux 5.x
    ovaloval:org.mitre.oval:def:15802
  • commentOracle Linux 5.x
    ovaloval:org.mitre.oval:def:15459
descriptionBuffer overflow in the usb_host_handle_control function in the USB passthrough handling implementation in usb-linux.c in QEMU before 0.11.1 allows guest OS users to cause a denial of service (guest OS crash or hang) or possibly execute arbitrary code on the host OS via a crafted USB packet.
familyunix
idoval:org.mitre.oval:def:11786
statusaccepted
submitted2010-07-09T03:56:16-04:00
titleBuffer overflow in the usb_host_handle_control function in the USB passthrough handling implementation in usb-linux.c in QEMU before 0.11.1 allows guest OS users to cause a denial of service (guest OS crash or hang) or possibly execute arbitrary code on the host OS via a crafted USB packet.
version18

Redhat

advisories
rhsa
idRHSA-2010:0088
rpms
  • kmod-kvm-0:83-105.el5_4.22
  • kvm-0:83-105.el5_4.22
  • kvm-debuginfo-0:83-105.el5_4.22
  • kvm-qemu-img-0:83-105.el5_4.22
  • kvm-tools-0:83-105.el5_4.22
  • rhev-hypervisor-0:5.4-2.1.10.el5_4rhev2_1
  • rhev-hypervisor-pxe-0:5.4-2.1.10.el5_4rhev2_1