According to the versions of the ruby packages installed, the EulerOS Virtualization for ARM 64 installation on the remote host is affected by the following vulnerabilities :
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(125569);
script_version("1.7");
script_set_attribute(attribute:"plugin_modification_date", value:"2021/07/06");
script_cve_id(
"CVE-2016-2337",
"CVE-2016-2339",
"CVE-2018-16395",
"CVE-2018-16396",
"CVE-2019-8322",
"CVE-2019-8323",
"CVE-2019-8324",
"CVE-2019-8325"
);
script_name(english:"EulerOS Virtualization for ARM 64 3.0.2.0 : ruby (EulerOS-SA-2019-1617)");
script_summary(english:"Checks the rpm output for the updated packages.");
script_set_attribute(attribute:"synopsis", value:
"The remote EulerOS Virtualization for ARM 64 host is missing multiple security
updates.");
script_set_attribute(attribute:"description", value:
"According to the versions of the ruby packages installed, the EulerOS
Virtualization for ARM 64 installation on the remote host is affected
by the following vulnerabilities :
- Ruby is an extensible, interpreted, object-oriented,
scripting language. It has features to process text
files and to perform system management tasks.Security
Fix(es):An issue was discovered in the OpenSSL library
in Ruby before 2.3.8, 2.4.x before 2.4.5, 2.5.x before
2.5.2, and 2.6.x before 2.6.0-preview3. When two
OpenSSL::X509::Name objects are compared using ==,
depending on the ordering, non-equal objects may return
true. When the first argument is one character longer
than the second, or the second argument contains a
character that is one less than a character in the same
position of the first argument, the result of == will
be true. This could be leveraged to create an
illegitimate certificate that may be accepted as
legitimate and then used in signing or encryption
operations.(CVE-2018-16395)An issue was discovered in
Ruby before 2.3.8, 2.4.x before 2.4.5, 2.5.x before
2.5.2, and 2.6.x before 2.6.0-preview3. It does not
taint strings that result from unpacking tainted
strings with some formats.(CVE-2018-16396)** RESERVED
** This candidate has been reserved by an organization
or individual that will use it when announcing a new
security problem. When the candidate has been
publicized, the details for this candidate will be
provided.(CVE-2019-8322)** RESERVED ** This candidate
has been reserved by an organization or individual that
will use it when announcing a new security problem.
When the candidate has been publicized, the details for
this candidate will be provided.(CVE-2019-8323)**
RESERVED ** This candidate has been reserved by an
organization or individual that will use it when
announcing a new security problem. When the candidate
has been publicized, the details for this candidate
will be provided.(CVE-2019-8324)** RESERVED ** This
candidate has been reserved by an organization or
individual that will use it when announcing a new
security problem. When the candidate has been
publicized, the details for this candidate will be
provided.(CVE-2019-8325)An exploitable heap overflow
vulnerability exists in the Fiddle::Function.new
''initialize'' function functionality of Ruby. In
Fiddle::Function.new ''initialize'' heap buffer
''arg_types'' allocation is made based on args array
length. Specially constructed object passed as element
of args array can increase this array size after
mentioned allocation and cause heap
overflow.(CVE-2016-2339)Type confusion exists in
_cancel_eval Ruby's TclTkIp class method. Attacker
passing different type of object than String as
''retval'' argument can cause arbitrary code
execution.(CVE-2016-2337)
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-1617
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?5681a400");
script_set_attribute(attribute:"solution", value:
"Update the affected ruby packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/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:N/AC:L/PR:N/UI:N/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:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"patch_publication_date", value:"2019/05/31");
script_set_attribute(attribute:"plugin_publication_date", value:"2019/05/30");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ruby");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ruby-irb");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:ruby-libs");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rubygem-bigdecimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rubygem-io-console");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rubygem-json");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rubygem-psych");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rubygem-rdoc");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rubygems");
script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:3.0.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-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/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "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");
uvp = get_kb_item("Host/EulerOS/uvp_version");
if (uvp != "3.0.2.0") audit(AUDIT_OS_NOT, "EulerOS Virtualization 3.0.2.0");
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 = ["ruby-2.0.0.648-33.h13",
"ruby-irb-2.0.0.648-33.h13",
"ruby-libs-2.0.0.648-33.h13",
"rubygem-bigdecimal-1.2.0-33.h13",
"rubygem-io-console-0.4.2-33.h13",
"rubygem-json-1.7.7-33.h13",
"rubygem-psych-2.0.0-33.h13",
"rubygem-rdoc-4.0.0-33.h13",
"rubygems-2.0.14.1-33.h13"];
foreach (pkg in pkgs)
if (rpm_check(release:"EulerOS-2.0", reference:pkg)) flag++;
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
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, "ruby");
}
Vendor | Product | Version | CPE |
---|---|---|---|
huawei | euleros | ruby | p-cpe:/a:huawei:euleros:ruby |
huawei | euleros | ruby-irb | p-cpe:/a:huawei:euleros:ruby-irb |
huawei | euleros | ruby-libs | p-cpe:/a:huawei:euleros:ruby-libs |
huawei | euleros | rubygem-bigdecimal | p-cpe:/a:huawei:euleros:rubygem-bigdecimal |
huawei | euleros | rubygem-io-console | p-cpe:/a:huawei:euleros:rubygem-io-console |
huawei | euleros | rubygem-json | p-cpe:/a:huawei:euleros:rubygem-json |
huawei | euleros | rubygem-psych | p-cpe:/a:huawei:euleros:rubygem-psych |
huawei | euleros | rubygem-rdoc | p-cpe:/a:huawei:euleros:rubygem-rdoc |
huawei | euleros | rubygems | p-cpe:/a:huawei:euleros:rubygems |
huawei | euleros | uvp | cpe:/o:huawei:euleros:uvp:3.0.2.0 |
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2337
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-2339
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16395
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16396
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8322
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8323
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8324
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8325
www.nessus.org/u?5681a400