Lucene search

K
nessusUbuntu Security Notice (C) 2024 Canonical, Inc. / NASL script (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.UBUNTU_USN-6734-2.NASL
HistoryApr 29, 2024 - 12:00 a.m.

Ubuntu 24.04 LTS. : libvirt vulnerabilities (USN-6734-2)

2024-04-2900:00:00
Ubuntu Security Notice (C) 2024 Canonical, Inc. / NASL script (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
12
ubuntu 24.04 lts
libvirt vulnerabilities
usn-6734-2
denial of service
cve-2024-1441
rpc library apis

6.9 Medium

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

26.4%

The remote Ubuntu 24.04 LTS. host has packages installed that are affected by multiple vulnerabilities as referenced in the USN-6734-2 advisory.

  • An off-by-one error flaw was found in the udevListInterfacesByStatus() function in libvirt when the number of interfaces exceeds the size of the names array. This issue can be reproduced by sending specially crafted data to the libvirt daemon, allowing an unprivileged client to perform a denial of service attack by causing the libvirt daemon to crash. (CVE-2024-1441)

  • A flaw was found in the RPC library APIs of libvirt. The RPC server deserialization code allocates memory for arrays before the non-negative length check is performed by the C API entry points. Passing a negative length to the g_new0 function results in a crash due to the negative length being treated as a huge positive number. This flaw allows a local, unprivileged user to perform a denial of service attack by causing the libvirt daemon to crash. (CVE-2024-2494)

Note that Nessus has not tested for these issues but has instead relied only on the application’s self-reported version number.

#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Ubuntu Security Notice USN-6734-2. The text
# itself is copyright (C) Canonical, Inc. See
# <https://ubuntu.com/security/notices>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
##

include('compat.inc');

if (description)
{
  script_id(194729);
  script_version("1.0");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/04/29");

  script_cve_id("CVE-2024-1441", "CVE-2024-2494");
  script_xref(name:"IAVA", value:"2024-A-0184");
  script_xref(name:"USN", value:"6734-2");

  script_name(english:"Ubuntu 24.04 LTS. : libvirt vulnerabilities (USN-6734-2)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The remote Ubuntu 24.04 LTS. host has packages installed that are affected by multiple vulnerabilities as referenced in
the USN-6734-2 advisory.

  - An off-by-one error flaw was found in the udevListInterfacesByStatus() function in libvirt when the number
    of interfaces exceeds the size of the `names` array. This issue can be reproduced by sending specially
    crafted data to the libvirt daemon, allowing an unprivileged client to perform a denial of service attack
    by causing the libvirt daemon to crash. (CVE-2024-1441)

  - A flaw was found in the RPC library APIs of libvirt. The RPC server deserialization code allocates memory
    for arrays before the non-negative length check is performed by the C API entry points. Passing a negative
    length to the g_new0 function results in a crash due to the negative length being treated as a huge
    positive number. This flaw allows a local, unprivileged user to perform a denial of service attack by
    causing the libvirt daemon to crash. (CVE-2024-2494)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/notices/USN-6734-2");
  script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:S/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2024-2494");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2024/03/11");
  script_set_attribute(attribute:"patch_publication_date", value:"2024/04/29");
  script_set_attribute(attribute:"plugin_publication_date", value:"2024/04/29");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:24.04:-:lts.");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libnss-libvirt");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-clients");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-clients-qemu");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-config-network");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-config-nwfilter");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-lxc");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-qemu");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-storage-gluster");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-storage-iscsi-direct");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-storage-rbd");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-storage-zfs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-vbox");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-xen");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-system");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-system-systemd");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-system-sysv");
  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-l10n");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-login-shell");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-sanlock");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt-wireshark");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libvirt0");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_set_attribute(attribute:"stig_severity", value:"II");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Ubuntu Local Security Checks");

  script_copyright(english:"Ubuntu Security Notice (C) 2024 Canonical, Inc. / NASL script (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");

  exit(0);
}

include('debian_package.inc');

if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('24.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 24.04', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);

var pkgs = [
    {'osver': '24.04', 'pkgname': 'libnss-libvirt', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-clients', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-clients-qemu', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-config-network', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-config-nwfilter', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-lxc', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-qemu', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-storage-gluster', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-storage-iscsi-direct', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-storage-rbd', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-storage-zfs', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-vbox', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-driver-xen', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-system', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-system-systemd', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-daemon-system-sysv', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-dev', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-l10n', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-login-shell', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-sanlock', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt-wireshark', 'pkgver': '10.0.0-2ubuntu8.1'},
    {'osver': '24.04', 'pkgname': 'libvirt0', 'pkgver': '10.0.0-2ubuntu8.1'}
];

var flag = 0;
foreach package_array ( pkgs ) {
  var osver = NULL;
  var pkgname = NULL;
  var pkgver = NULL;
  if (!empty_or_null(package_array['osver'])) osver = package_array['osver'];
  if (!empty_or_null(package_array['pkgname'])) pkgname = package_array['pkgname'];
  if (!empty_or_null(package_array['pkgver'])) pkgver = package_array['pkgver'];
  if (osver && pkgname && pkgver) {
    if (ubuntu_check(osver:osver, pkgname:pkgname, pkgver:pkgver)) flag++;
  }
}

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    extra      : ubuntu_report_get()
  );
  exit(0);
}
else
{
  var tested = ubuntu_pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'libnss-libvirt / libvirt-clients / libvirt-clients-qemu / etc');
}
VendorProductVersionCPE
canonicalubuntu_linux24.04cpe:/o:canonical:ubuntu_linux:24.04:-:lts.
canonicalubuntu_linuxlibnss-libvirtp-cpe:/a:canonical:ubuntu_linux:libnss-libvirt
canonicalubuntu_linuxlibvirt-clientsp-cpe:/a:canonical:ubuntu_linux:libvirt-clients
canonicalubuntu_linuxlibvirt-clients-qemup-cpe:/a:canonical:ubuntu_linux:libvirt-clients-qemu
canonicalubuntu_linuxlibvirt-daemonp-cpe:/a:canonical:ubuntu_linux:libvirt-daemon
canonicalubuntu_linuxlibvirt-daemon-config-networkp-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-config-network
canonicalubuntu_linuxlibvirt-daemon-config-nwfilterp-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-config-nwfilter
canonicalubuntu_linuxlibvirt-daemon-driver-lxcp-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-lxc
canonicalubuntu_linuxlibvirt-daemon-driver-qemup-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-qemu
canonicalubuntu_linuxlibvirt-daemon-driver-storage-glusterp-cpe:/a:canonical:ubuntu_linux:libvirt-daemon-driver-storage-gluster
Rows per page:
1-10 of 241