Lucene search

K
nessusThis script is Copyright (C) 2021-2023 and is owned by Tenable, Inc. or an Affiliate thereof.EULEROS_SA-2021-1984.NASL
HistoryJun 28, 2021 - 12:00 a.m.

EulerOS 2.0 SP8 : libldb (EulerOS-SA-2021-1984)

2021-06-2800:00:00
This script is Copyright (C) 2021-2023 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
8

7.9 High

AI Score

Confidence

High

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

  • A flaw was found in Samba’s libldb. Multiple, consecutive leading spaces in an LDAP attribute can lead to an out-of-bounds memory write, leading to a crash of the LDAP server process handling the request.
    The highest threat from this vulnerability is to system availability.(CVE-2021-20277)

  • A flaw was found in samba. Spaces used in a string around a domain name (DN), while supposed to be ignored, can cause invalid DN strings with spaces to instead write a zero-byte into out-of-bounds memory, resulting in a crash. The highest threat from this vulnerability is to system availability.(CVE-2020-27840)

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(151026);
  script_version("1.3");
  script_set_attribute(attribute:"plugin_modification_date", value:"2023/12/12");

  script_cve_id("CVE-2020-27840", "CVE-2021-20277");

  script_name(english:"EulerOS 2.0 SP8 : libldb (EulerOS-SA-2021-1984)");

  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 libldb packages installed, the
EulerOS installation on the remote host is affected by the following
vulnerabilities :

  - A flaw was found in Samba's libldb. Multiple,
    consecutive leading spaces in an LDAP attribute can
    lead to an out-of-bounds memory write, leading to a
    crash of the LDAP server process handling the request.
    The highest threat from this vulnerability is to system
    availability.(CVE-2021-20277)

  - A flaw was found in samba. Spaces used in a string
    around a domain name (DN), while supposed to be
    ignored, can cause invalid DN strings with spaces to
    instead write a zero-byte into out-of-bounds memory,
    resulting in a crash. The highest threat from this
    vulnerability is to system
    availability.(CVE-2020-27840)

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-2021-1984
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?3f5e0cc9");
  script_set_attribute(attribute:"solution", value:
"Update the affected libldb packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
  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: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-2021-20277");

  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:"2021/06/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2021/06/28");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ldb-tools");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libldb");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libldb-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:python2-ldb");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:python3-ldb");
  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) 2021-2023 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 = ["ldb-tools-1.4.2-1.h6.eulerosv2r8",
        "libldb-1.4.2-1.h6.eulerosv2r8",
        "libldb-devel-1.4.2-1.h6.eulerosv2r8",
        "python2-ldb-1.4.2-1.h6.eulerosv2r8",
        "python3-ldb-1.4.2-1.h6.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, "libldb");
}
VendorProductVersionCPE
huaweieulerosldb-toolsp-cpe:/a:huawei:euleros:ldb-tools
huaweieuleroslibldbp-cpe:/a:huawei:euleros:libldb
huaweieuleroslibldb-develp-cpe:/a:huawei:euleros:libldb-devel
huaweieulerospython2-ldbp-cpe:/a:huawei:euleros:python2-ldb
huaweieulerospython3-ldbp-cpe:/a:huawei:euleros:python3-ldb
huaweieuleros2.0cpe:/o:huawei:euleros:2.0