Lucene search

K
nessusThis script is Copyright (C) 2019-2024 and is owned by Tenable, Inc. or an Affiliate thereof.EULEROS_SA-2019-2286.NASL
HistoryNov 27, 2019 - 12:00 a.m.

EulerOS 2.0 SP8 : libpcap (EulerOS-SA-2019-2286)

2019-11-2700:00:00
This script is Copyright (C) 2019-2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
14

6.5 Medium

AI Score

Confidence

High

According to the versions of the libpcap package installed, the EulerOS installation on the remote host is affected by the following vulnerabilities :

  • Libpcap provides a portable framework for low-level network monitoring. Libpcap can provide network statistics collection,security monitoring and network debugging. Since almost every system vendor provides a different interface for packet capture, the libpcap authors created this system-independent API to ease in porting and to alleviate the need for several system-dependent packet capture modules in each application.Install libpcap if you need to do low-level network traffic monitoring on your network.Security Fix(es):rpcapd/daemon.c in libpcap before 1.9.1 mishandles certain length values because of reuse of a variable. This may open up an attack vector involving extra data at the end of a request.(CVE-2019-15161)rpcapd/daemon.c in libpcap before 1.9.1 on non-Windows platforms provides details about why authentication failed, which might make it easier for attackers to enumerate valid usernames.(CVE-2019-15162)rpcapd/daemon.c in libpcap before 1.9.1 allows attackers to cause a denial of service (NULL pointer dereference and daemon crash) if a crypt() call fails.(CVE-2019-15163)rpcapd/daemon.c in libpcap before 1.9.1 allows SSRF because a URL may be provided as a capture source.(CVE-2019-15164)sf-pcapng.c in libpcap before 1.9.1 does not properly validate the PHB header length before allocating memory.(CVE-2019-15165)

Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS 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(131352);
  script_version("1.6");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/04/09");

  script_cve_id(
    "CVE-2019-15161",
    "CVE-2019-15162",
    "CVE-2019-15163",
    "CVE-2019-15164",
    "CVE-2019-15165"
  );

  script_name(english:"EulerOS 2.0 SP8 : libpcap (EulerOS-SA-2019-2286)");

  script_set_attribute(attribute:"synopsis", value:
"The remote EulerOS host is missing multiple security updates.");
  script_set_attribute(attribute:"description", value:
"According to the versions of the libpcap package installed, the
EulerOS installation on the remote host is affected by the following
vulnerabilities :

  - Libpcap provides a portable framework for low-level
    network monitoring. Libpcap can provide network
    statistics collection,security monitoring and network
    debugging. Since almost every system vendor provides a
    different interface for packet capture, the libpcap
    authors created this system-independent API to ease in
    porting and to alleviate the need for several
    system-dependent packet capture modules in each
    application.Install libpcap if you need to do low-level
    network traffic monitoring on your network.Security
    Fix(es):rpcapd/daemon.c in libpcap before 1.9.1
    mishandles certain length values because of reuse of a
    variable. This may open up an attack vector involving
    extra data at the end of a
    request.(CVE-2019-15161)rpcapd/daemon.c in libpcap
    before 1.9.1 on non-Windows platforms provides details
    about why authentication failed, which might make it
    easier for attackers to enumerate valid
    usernames.(CVE-2019-15162)rpcapd/daemon.c in libpcap
    before 1.9.1 allows attackers to cause a denial of
    service (NULL pointer dereference and daemon crash) if
    a crypt() call fails.(CVE-2019-15163)rpcapd/daemon.c in
    libpcap before 1.9.1 allows SSRF because a URL may be
    provided as a capture
    source.(CVE-2019-15164)sf-pcapng.c in libpcap before
    1.9.1 does not properly validate the PHB header length
    before allocating memory.(CVE-2019-15165)

Note that Tenable Network Security has extracted the preceding
description block directly from the EulerOS security advisory. Tenable
has attempted to automatically clean and format it as much as possible
without introducing additional issues.");
  # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-2286
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?5f388d8e");
  script_set_attribute(attribute:"solution", value:
"Update the affected libpcap packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-15165");

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

  script_set_attribute(attribute:"patch_publication_date", value:"2019/11/27");
  script_set_attribute(attribute:"plugin_publication_date", value:"2019/11/27");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libpcap");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

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

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
  script_exclude_keys("Host/EulerOS/uvp_version");

  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/EulerOS/release");
if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");

sp = get_kb_item("Host/EulerOS/sp");
if (isnull(sp) || sp !~ "^(8)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP8");

uvp = get_kb_item("Host/EulerOS/uvp_version");
if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP8", "EulerOS UVP " + uvp);

if (!get_kb_item("Host/EulerOS/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$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
if ("aarch64" >!< cpu) audit(AUDIT_ARCH_NOT, "aarch64", cpu);

flag = 0;

pkgs = ["libpcap-1.9.1-1.eulerosv2r8"];

foreach (pkg in pkgs)
  if (rpm_check(release:"EulerOS-2.0", sp:"8", reference:pkg)) flag++;

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    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, "libpcap");
}
VendorProductVersionCPE
huaweieuleroslibpcapp-cpe:/a:huawei:euleros:libpcap
huaweieuleros2.0cpe:/o:huawei:euleros:2.0