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
31
euleros 2.0 sp8
rpm
vulnerabilities
rpm package manager
out-of-bounds read
signature check
data integrity
confidentiality
system availability
cve-2021-20266
cve-2021-20271
cve-2021-3421
tenable network security
security advisory

CVSS2

5.1

Attack Vector

NETWORK

Attack Complexity

HIGH

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:H/Au:N/C:P/I:P/A:P

CVSS3

7

Attack Vector

LOCAL

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

AI Score

7.2

Confidence

High

EPSS

0.002

Percentile

61.2%

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");
}

CVSS2

5.1

Attack Vector

NETWORK

Attack Complexity

HIGH

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:H/Au:N/C:P/I:P/A:P

CVSS3

7

Attack Vector

LOCAL

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

AI Score

7.2

Confidence

High

EPSS

0.002

Percentile

61.2%