Vulnerabilities > CVE-2008-5086 - Local Security Bypass vulnerability in libvirt

047910
CVSS 7.2 - HIGH
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
local
low complexity
libvirt
nessus

Summary

Multiple methods in libvirt 0.3.2 through 0.5.1 do not check if a connection is read-only, which allows local users to bypass intended access restrictions and perform administrative actions.

Nessus

  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-694-1.NASL
    descriptionIt was discovered that libvirt did not mark certain operations as read-only. A local attacker may be able to perform privileged actions such as migrating virtual machines, adjusting autostart flags, or accessing privileged data in the virtual machine memory and disks. Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id37984
    published2009-04-23
    reporterUbuntu Security Notice (C) 2009-2019 Canonical, Inc. / NASL script (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/37984
    titleUbuntu 7.10 / 8.04 LTS / 8.10 : libvirt vulnerability (USN-694-1)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Ubuntu Security Notice USN-694-1. The text 
    # itself is copyright (C) Canonical, Inc. See 
    # <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered 
    # trademark of Canonical, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(37984);
      script_version("1.12");
      script_cvs_date("Date: 2019/08/02 13:33:02");
    
      script_cve_id("CVE-2008-5086");
      script_xref(name:"USN", value:"694-1");
    
      script_name(english:"Ubuntu 7.10 / 8.04 LTS / 8.10 : libvirt vulnerability (USN-694-1)");
      script_summary(english:"Checks dpkg output for updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Ubuntu host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "It was discovered that libvirt did not mark certain operations as
    read-only. A local attacker may be able to perform privileged actions
    such as migrating virtual machines, adjusting autostart flags, or
    accessing privileged data in the virtual machine memory and disks.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the Ubuntu security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://usn.ubuntu.com/694-1/"
      );
      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_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-bin");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-dev");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-doc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt0");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt0-dbg");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:python-libvirt");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:7.10");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:8.04:-:lts");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:8.10");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2008/12/17");
      script_set_attribute(attribute:"plugin_publication_date", value:"2009/04/23");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"Ubuntu Security Notice (C) 2009-2019 Canonical, Inc. / NASL script (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Ubuntu Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("ubuntu.inc");
    include("misc_func.inc");
    
    if ( ! get_kb_item("Host/local_checks_enabled") ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/Ubuntu/release");
    if ( isnull(release) ) audit(AUDIT_OS_NOT, "Ubuntu");
    release = chomp(release);
    if (! ereg(pattern:"^(7\.10|8\.04|8\.10)$", string:release)) audit(AUDIT_OS_NOT, "Ubuntu 7.10 / 8.04 / 8.10", "Ubuntu " + release);
    if ( ! get_kb_item("Host/Debian/dpkg-l") ) 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, "Ubuntu", cpu);
    
    flag = 0;
    
    if (ubuntu_check(osver:"7.10", pkgname:"libvirt-bin", pkgver:"0.3.0-0ubuntu2.1")) flag++;
    if (ubuntu_check(osver:"7.10", pkgname:"libvirt-dev", pkgver:"0.3.0-0ubuntu2.1")) flag++;
    if (ubuntu_check(osver:"7.10", pkgname:"libvirt0", pkgver:"0.3.0-0ubuntu2.1")) flag++;
    if (ubuntu_check(osver:"7.10", pkgname:"python-libvirt", pkgver:"0.3.0-0ubuntu2.1")) flag++;
    if (ubuntu_check(osver:"8.04", pkgname:"libvirt-bin", pkgver:"0.4.0-2ubuntu8.1")) flag++;
    if (ubuntu_check(osver:"8.04", pkgname:"libvirt-dev", pkgver:"0.4.0-2ubuntu8.1")) flag++;
    if (ubuntu_check(osver:"8.04", pkgname:"libvirt-doc", pkgver:"0.4.0-2ubuntu8.1")) flag++;
    if (ubuntu_check(osver:"8.04", pkgname:"libvirt0", pkgver:"0.4.0-2ubuntu8.1")) flag++;
    if (ubuntu_check(osver:"8.04", pkgname:"libvirt0-dbg", pkgver:"0.4.0-2ubuntu8.1")) flag++;
    if (ubuntu_check(osver:"8.04", pkgname:"python-libvirt", pkgver:"0.4.0-2ubuntu8.1")) flag++;
    if (ubuntu_check(osver:"8.10", pkgname:"libvirt-bin", pkgver:"0.4.4-3ubuntu3.1")) flag++;
    if (ubuntu_check(osver:"8.10", pkgname:"libvirt-dev", pkgver:"0.4.4-3ubuntu3.1")) flag++;
    if (ubuntu_check(osver:"8.10", pkgname:"libvirt-doc", pkgver:"0.4.4-3ubuntu3.1")) flag++;
    if (ubuntu_check(osver:"8.10", pkgname:"libvirt0", pkgver:"0.4.4-3ubuntu3.1")) flag++;
    if (ubuntu_check(osver:"8.10", pkgname:"libvirt0-dbg", pkgver:"0.4.4-3ubuntu3.1")) flag++;
    if (ubuntu_check(osver:"8.10", pkgname:"python-libvirt", pkgver:"0.4.4-3ubuntu3.1")) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : ubuntu_report_get()
      );
      exit(0);
    }
    else
    {
      tested = ubuntu_pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libvirt-bin / libvirt-dev / libvirt-doc / libvirt0 / libvirt0-dbg / etc");
    }
    
  • NASL familyScientific Linux Local Security Checks
    NASL idSL_20090319_LIBVIRT_ON_SL5_X.NASL
    descriptionThe libvirtd daemon was discovered to not properly check user connection permissions before performing certain privileged actions, such as requesting migration of an unprivileged guest domain to another system. A local user able to establish a read-only connection to libvirtd could use this flaw to perform actions that should be restricted to read-write connections. (CVE-2008-5086) libvirt_proxy, a setuid helper application allowing non-privileged users to communicate with the hypervisor, was discovered to not properly validate user requests. Local users could use this flaw to cause a stack-based buffer overflow in libvirt_proxy, possibly allowing them to run arbitrary code with root privileges. (CVE-2009-0036) After installing the update, libvirtd must be restarted manually (for example, by issuing a
    last seen2020-06-01
    modified2020-06-02
    plugin id60551
    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/60551
    titleScientific Linux Security Update : libvirt on SL5.x i386/x86_64
  • NASL familySuSE Local Security Checks
    NASL idSUSE_LIBVIRT-5869.NASL
    descriptionlibvirt misses some read-only connection checks for certain methods. This flaw enables local unprivileged users for example to migrate virtual machines without authentication. (CVE-2008-5086)
    last seen2020-06-01
    modified2020-06-02
    plugin id41554
    published2009-09-24
    reporterThis script is Copyright (C) 2009-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/41554
    titleSuSE 10 Security Update : libvirt (ZYPP Patch Number 5869)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2008-11433.NASL
    descriptionfix missing read-only access checks, fixes CVE-2008-5086 - upstream release 0.5.1 - mostly bugfixes e.g #473071 - some driver improvements Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id35228
    published2008-12-21
    reporterThis script is Copyright (C) 2008-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/35228
    titleFedora 9 : libvirt-0.5.1-2.fc9 (2008-11433)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2008-11443.NASL
    descriptionfix missing read-only access checks, fixes CVE-2008-5086 - upstream release 0.5.1 - mostly bugfixes e.g #473071 - some driver improvements Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id36460
    published2009-04-23
    reporterThis script is Copyright (C) 2009-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/36460
    titleFedora 10 : libvirt-0.5.1-2.fc10 (2008-11443)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_1_LIBVIRT-081218.NASL
    descriptionlibvirt misses some read-only connection checks for certain methods. This flaw enables local unprivileged users for example to migrate virtual machines without authentication (CVE-2008-5086).
    last seen2020-06-01
    modified2020-06-02
    plugin id40272
    published2009-07-21
    reporterThis script is Copyright (C) 2009-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/40272
    titleopenSUSE Security Update : libvirt (libvirt-373)
  • NASL familyOracle Linux Local Security Checks
    NASL idORACLELINUX_ELSA-2009-0382.NASL
    descriptionFrom Red Hat Security Advisory 2009:0382 : Updated libvirt packages that fix two security issues are now available for Red Hat Enterprise Linux 5. This update has been rated as having moderate security impact by the Red Hat Security Response Team. [Updated 5th May 2011] After installing this update and restarting the libvirtd service, the
    last seen2020-06-01
    modified2020-06-02
    plugin id67832
    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/67832
    titleOracle Linux 5 : libvirt (ELSA-2009-0382)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_LIBVIRT-5874.NASL
    descriptionlibvirt misses some read-only connection checks for certain methods. This flaw enables local unprivileged users for example to migrate virtual machines without authentication (CVE-2008-5086).
    last seen2020-06-01
    modified2020-06-02
    plugin id35607
    published2009-02-06
    reporterThis script is Copyright (C) 2009-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/35607
    titleopenSUSE 10 Security Update : libvirt (libvirt-5874)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_0_LIBVIRT-081218.NASL
    descriptionlibvirt misses some read-only connection checks for certain methods. This flaw enables local unprivileged users for example to migrate virtual machines without authentication (CVE-2008-5086).
    last seen2020-06-01
    modified2020-06-02
    plugin id40051
    published2009-07-21
    reporterThis script is Copyright (C) 2009-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/40051
    titleopenSUSE Security Update : libvirt (libvirt-373)
  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2009-0382.NASL
    descriptionUpdated libvirt packages that fix two security issues are now available for Red Hat Enterprise Linux 5. This update has been rated as having moderate security impact by the Red Hat Security Response Team. [Updated 5th May 2011] After installing this update and restarting the libvirtd service, the
    last seen2020-06-01
    modified2020-06-02
    plugin id63878
    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/63878
    titleRHEL 5 : libvirt (RHSA-2009:0382)

Oval

accepted2013-04-29T04:17:52.700-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
descriptionMultiple methods in libvirt 0.3.2 through 0.5.1 do not check if a connection is read-only, which allows local users to bypass intended access restrictions and perform administrative actions.
familyunix
idoval:org.mitre.oval:def:8765
statusaccepted
submitted2010-07-09T03:56:16-04:00
titleMultiple methods in libvirt 0.3.2 through 0.5.1 do not check if a connection is read-only, which allows local users to bypass intended access restrictions and perform administrative actions.
version18

Redhat

advisories
rhsa
idRHSA-2009:0382
rpms
  • libvirt-0:0.3.3-14.el5_3.1
  • libvirt-debuginfo-0:0.3.3-14.el5_3.1
  • libvirt-devel-0:0.3.3-14.el5_3.1
  • libvirt-python-0:0.3.3-14.el5_3.1