Lucene search

K
nessusThis script is Copyright (C) 2018-2021 and is owned by Tenable, Inc. or an Affiliate thereof.VIRTUOZZO_VZA-2018-004.NASL
HistoryJan 16, 2018 - 12:00 a.m.

Virtuozzo 7 : readykernel-patch (VZA-2018-004)

2018-01-1600:00:00
This script is Copyright (C) 2018-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
20

According to the version of the vzkernel package and the readykernel-patch installed, the Virtuozzo installation on the remote host is affected by the following vulnerabilities :

  • A vulnerability was found in DCCP socket handling code.
    dccp_disconnect() set the socket state to DCCP_CLOSED but did not properly free some of the resources associated with that socket. This could result in a use-after-free and could potentially allow an attacker to escalate their privileges.

  • The Linux kernel is vulnerable to a use-after-free issue. It could occur while closing a xfrm netlink socket, in xfrm_dump_policy_done. A user/process could use this flaw to potentially escalate their privileges on a system.

  • The function get_net_ns_by_id() does not check the net.count value when processing a peer network, which could lead to double free and memory corruption. An unprivileged local user could use this vulnerability to crash the system.

  • If the system uses iptables and there are iptables rules with TCPMSS action there, a remote attacker could cause a denial of service (use-after-free in tcpmss_mangle_packet function leading to memory corruption) or possibly have unspecified other impact by sending specially crafted network packets.

  • A flaw was found in the patches used to fix the ‘Dirty COW’ vulnerability (CVE-2016-5195). An attacker, able to run local code, could exploit a race condition in transparent huge pages to modify usually read-only huge pages.

Note that Tenable Network Security has extracted the preceding description block directly from the Virtuozzo security advisory.
Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(106052);
  script_version("3.12");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/04");

  script_cve_id(
    "CVE-2017-1000405",
    "CVE-2017-15129",
    "CVE-2017-16939",
    "CVE-2017-18017",
    "CVE-2017-8824"
  );

  script_name(english:"Virtuozzo 7 : readykernel-patch (VZA-2018-004)");
  script_summary(english:"Checks the readykernel output for the updated patch.");

  script_set_attribute(attribute:"synopsis", value:
"The remote Virtuozzo host is missing a security update.");
  script_set_attribute(attribute:"description", value:
"According to the version of the vzkernel package and the
readykernel-patch installed, the Virtuozzo installation on the remote
host is affected by the following vulnerabilities :

  - A vulnerability was found in DCCP socket handling code.
    dccp_disconnect() set the socket state to DCCP_CLOSED
    but did not properly free some of the resources
    associated with that socket. This could result in a
    use-after-free and could potentially allow an attacker
    to escalate their privileges.

  - The Linux kernel is vulnerable to a use-after-free
    issue. It could occur while closing a xfrm netlink
    socket, in xfrm_dump_policy_done. A user/process could
    use this flaw to potentially escalate their privileges
    on a system.

  - The function get_net_ns_by_id() does not check the
    net.count value when processing a peer network, which
    could lead to double free and memory corruption. An
    unprivileged local user could use this vulnerability to
    crash the system.

  - If the system uses iptables and there are iptables
    rules with TCPMSS action there, a remote attacker could
    cause a denial of service (use-after-free in
    tcpmss_mangle_packet function leading to memory
    corruption) or possibly have unspecified other impact
    by sending specially crafted network packets.

  - A flaw was found in the patches used to fix the 'Dirty
    COW' vulnerability (CVE-2016-5195). An attacker, able
    to run local code, could exploit a race condition in
    transparent huge pages to modify usually read-only huge
    pages.

Note that Tenable Network Security has extracted the preceding
description block directly from the Virtuozzo 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://help.virtuozzo.com/customer/portal/articles/2915392");
  # https://readykernel.com/patch/Virtuozzo-7/readykernel-patch-15.2-42.0-1.vl7/
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?ab3589df");
  # https://readykernel.com/patch/Virtuozzo-7/readykernel-patch-18.7-42.0-1.vl7/
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?e8dcc35e");
  # https://readykernel.com/patch/Virtuozzo-7/readykernel-patch-20.18-42.0-1.vl7/
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?c6312859");
  script_set_attribute(attribute:"solution", value:"Update the readykernel patch.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploited_by_malware", value:"true");

  script_set_attribute(attribute:"patch_publication_date", value:"2018/01/12");
  script_set_attribute(attribute:"plugin_publication_date", value:"2018/01/16");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:virtuozzo:virtuozzo:readykernel");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:virtuozzo:virtuozzo:7");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

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

  script_copyright(english:"This script is Copyright (C) 2018-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Virtuozzo/release", "Host/Virtuozzo/rpm-list", "Host/readykernel-info");

  exit(0);
}

include("global_settings.inc");
include("readykernel.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);

release = get_kb_item("Host/Virtuozzo/release");
if (isnull(release) || "Virtuozzo" >!< release) audit(AUDIT_OS_NOT, "Virtuozzo");
os_ver = pregmatch(pattern: "Virtuozzo Linux release ([0-9]+\.[0-9])(\D|$)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Virtuozzo");
os_ver = os_ver[1];
if (! preg(pattern:"^7([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Virtuozzo 7.x", "Virtuozzo " + os_ver);

if (!get_kb_item("Host/Virtuozzo/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, "Virtuozzo", cpu);

rk_info = get_kb_item("Host/readykernel-info");
if (empty_or_null(rk_info)) audit(AUDIT_UNKNOWN_APP_VER, "Virtuozzo");

checks = make_list2(
  make_array(
    "kernel","vzkernel-3.10.0-327.18.2.vz7.15.2",
    "patch","readykernel-patch-15.2-42.0-1.vl7"
  ),
  make_array(
    "kernel","vzkernel-3.10.0-327.42.0.vz7.18.7",
    "patch","readykernel-patch-18.7-42.0-1.vl7"
  ),
  make_array(
    "kernel","vzkernel-3.10.0-327.42.0.vz7.20.18",
    "patch","readykernel-patch-20.18-42.0-1.vl7"
  )
);
readykernel_execute_checks(checks:checks, severity:SECURITY_HOLE, release:"Virtuozzo-7");
VendorProductVersionCPE
virtuozzovirtuozzoreadykernelp-cpe:/a:virtuozzo:virtuozzo:readykernel
virtuozzovirtuozzo7cpe:/o:virtuozzo:virtuozzo:7