Lucene search

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

EulerOS 2.0 SP8 : rpm (EulerOS-SA-2021-1992)

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
26

7.2 High

AI Score

Confidence

High

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

  • The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating software packages. Each software package consists of an archive of files along with information about the package like its version, a description, etc.Security Fix(es):A flaw was found in RPM’s hdrblobInit() in lib/header.c. This flaw allows an attacker who can modify the rpmdb to cause an out-of-bounds read. The highest threat from this vulnerability is to system availability.(CVE-2021-20266)A flaw was found in RPM’s signature check functionality when reading a package file. This flaw allows an attacker who can convince a victim to install a seemingly verifiable package, whose signature header was modified, to cause RPM database corruption and execute code. The highest threat from this vulnerability is to data integrity, confidentiality, and system availability.(CVE-2021-20271)A flaw was found in the RPM package in the read functionality. This flaw allows an attacker who can convince a victim to install a seemingly verifiable package or compromise an RPM repository, to cause RPM database corruption. The highest threat from this vulnerability is to data integrity.(CVE-2021-3421)

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

  script_cve_id("CVE-2021-20266", "CVE-2021-20271", "CVE-2021-3421");

  script_name(english:"EulerOS 2.0 SP8 : rpm (EulerOS-SA-2021-1992)");

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

  - The RPM Package Manager (RPM) is a powerful command
    line driven package management system capable of
    installing, uninstalling, verifying, querying, and
    updating software packages. Each software package
    consists of an archive of files along with information
    about the package like its version, a description,
    etc.Security Fix(es):A flaw was found in RPM's
    hdrblobInit() in lib/header.c. This flaw allows an
    attacker who can modify the rpmdb to cause an
    out-of-bounds read. The highest threat from this
    vulnerability is to system
    availability.(CVE-2021-20266)A flaw was found in RPM's
    signature check functionality when reading a package
    file. This flaw allows an attacker who can convince a
    victim to install a seemingly verifiable package, whose
    signature header was modified, to cause RPM database
    corruption and execute code. The highest threat from
    this vulnerability is to data integrity,
    confidentiality, and system
    availability.(CVE-2021-20271)A flaw was found in the
    RPM package in the read functionality. This flaw allows
    an attacker who can convince a victim to install a
    seemingly verifiable package or compromise an RPM
    repository, to cause RPM database corruption. The
    highest threat from this vulnerability is to data
    integrity.(CVE-2021-3421)

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-1992
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?80b8a5a4");
  script_set_attribute(attribute:"solution", value:
"Update the affected rpm packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/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-20271");

  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:python2-rpm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:python3-rpm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-apidocs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-cron");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-plugin-ima");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-plugin-prioreset");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-plugin-selinux");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-plugin-syslog");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-plugin-systemd-inhibit");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-sign");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-sign-libs");
  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 = ["python2-rpm-4.14.2-1.h14.eulerosv2r8",
        "python3-rpm-4.14.2-1.h14.eulerosv2r8",
        "rpm-4.14.2-1.h14.eulerosv2r8",
        "rpm-apidocs-4.14.2-1.h14.eulerosv2r8",
        "rpm-build-4.14.2-1.h14.eulerosv2r8",
        "rpm-build-libs-4.14.2-1.h14.eulerosv2r8",
        "rpm-cron-4.14.2-1.h14.eulerosv2r8",
        "rpm-devel-4.14.2-1.h14.eulerosv2r8",
        "rpm-libs-4.14.2-1.h14.eulerosv2r8",
        "rpm-plugin-ima-4.14.2-1.h14.eulerosv2r8",
        "rpm-plugin-prioreset-4.14.2-1.h14.eulerosv2r8",
        "rpm-plugin-selinux-4.14.2-1.h14.eulerosv2r8",
        "rpm-plugin-syslog-4.14.2-1.h14.eulerosv2r8",
        "rpm-plugin-systemd-inhibit-4.14.2-1.h14.eulerosv2r8",
        "rpm-sign-4.14.2-1.h14.eulerosv2r8",
        "rpm-sign-libs-4.14.2-1.h14.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, "rpm");
}
VendorProductVersionCPE
huaweieulerospython2-rpmp-cpe:/a:huawei:euleros:python2-rpm
huaweieulerospython3-rpmp-cpe:/a:huawei:euleros:python3-rpm
huaweieulerosrpmp-cpe:/a:huawei:euleros:rpm
huaweieulerosrpm-apidocsp-cpe:/a:huawei:euleros:rpm-apidocs
huaweieulerosrpm-buildp-cpe:/a:huawei:euleros:rpm-build
huaweieulerosrpm-build-libsp-cpe:/a:huawei:euleros:rpm-build-libs
huaweieulerosrpm-cronp-cpe:/a:huawei:euleros:rpm-cron
huaweieulerosrpm-develp-cpe:/a:huawei:euleros:rpm-devel
huaweieulerosrpm-libsp-cpe:/a:huawei:euleros:rpm-libs
huaweieulerosrpm-plugin-imap-cpe:/a:huawei:euleros:rpm-plugin-ima
Rows per page:
1-10 of 171