#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The package checks in this plugin were extracted from
# Miracle Linux Security Advisory AXSA:2016-462:01.
##
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(289083);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/01/16");
script_cve_id(
"CVE-2015-3210",
"CVE-2015-3217",
"CVE-2015-4792",
"CVE-2015-4802",
"CVE-2015-4815",
"CVE-2015-4816",
"CVE-2015-4819",
"CVE-2015-4826",
"CVE-2015-4830",
"CVE-2015-4836",
"CVE-2015-4858",
"CVE-2015-4861",
"CVE-2015-4870",
"CVE-2015-4879",
"CVE-2015-4895",
"CVE-2015-4913",
"CVE-2015-5073",
"CVE-2015-8381",
"CVE-2015-8383",
"CVE-2015-8384",
"CVE-2015-8385",
"CVE-2015-8386",
"CVE-2015-8388",
"CVE-2015-8391",
"CVE-2015-8392",
"CVE-2015-8395",
"CVE-2016-0505",
"CVE-2016-0546",
"CVE-2016-0596",
"CVE-2016-0597",
"CVE-2016-0598",
"CVE-2016-0600",
"CVE-2016-0606",
"CVE-2016-0608",
"CVE-2016-0609",
"CVE-2016-0610",
"CVE-2016-0616",
"CVE-2016-0640",
"CVE-2016-0641",
"CVE-2016-0642",
"CVE-2016-0643",
"CVE-2016-0644",
"CVE-2016-0646",
"CVE-2016-0647",
"CVE-2016-0648",
"CVE-2016-0649",
"CVE-2016-0650",
"CVE-2016-0651",
"CVE-2016-0655",
"CVE-2016-0666",
"CVE-2016-0668",
"CVE-2016-1283",
"CVE-2016-2047",
"CVE-2016-3191"
);
script_name(english:"MiracleLinux 4 : rh-mariadb100-mariadb-10.0.25-4.AXS4 (AXSA:2016-462:01)");
script_set_attribute(attribute:"synopsis", value:
"The remote MiracleLinux host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote MiracleLinux 4 host has packages installed that are affected by multiple vulnerabilities as referenced in the
AXSA:2016-462:01 advisory.
MariaDB is a community developed branch of MySQL.
MariaDB is a multi-user, multi-threaded SQL database server.
It is a client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. The base package
contains the standard MariaDB/MySQL client programs and generic MySQL files.
Security issues fixed with this release:
CVE-2015-3210
** 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-2015-3217
** 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-2015-4792
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier
and 5.6.26 and earlier allows remote authenticated users to affect
availability via unknown vectors related to Server : Partition, a
different vulnerability than CVE-2015-4802.
CVE-2015-4802
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier
and 5.6.26 and earlier allows remote authenticated users to affect
availability via unknown vectors related to Server : Partition, a
different vulnerability than CVE-2015-4792.
CVE-2015-4815
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier
and 5.6.26 and earlier allows remote authenticated users to affect
availability via vectors related to Server : DDL.
CVE-2015-4816
Unspecified vulnerability in Oracle MySQL Server 5.5.44 and earlier
allows remote authenticated users to affect availability via unknown
vectors related to Server : InnoDB.
CVE-2015-4819
Unspecified vulnerability in Oracle MySQL Server 5.5.44 and earlier,
and 5.6.25 and earlier, allows local users to affect confidentiality,
integrity, and availability via unknown vectors related to Client
programs.
CVE-2015-4826
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier
and 5.6.26 and earlier allows remote authenticated users to affect
confidentiality via unknown vectors related to Server : Types.
CVE-2015-4830
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier
and 5.6.26 and earlier allows remote authenticated users to affect
integrity via unknown vectors related to Server : Security :
Privileges.
CVE-2015-4836
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier,
and 5.6.26 and earlier, allows remote authenticated users to affect
availability via unknown vectors related to Server : SP.
CVE-2015-4858
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier,
and 5.6.26 and earlier, allows remote authenticated users to affect
availability via vectors related to DML, a different vulnerability
than CVE-2015-4913.
CVE-2015-4861
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier,
and 5.6.26 and earlier, allows remote authenticated users to affect
availability via unknown vectors related to Server : InnoDB.
CVE-2015-4870
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier,
and 5.6.26 and earlier, allows remote authenticated users to affect
availability via unknown vectors related to Server : Parser.
CVE-2015-4879
Unspecified vulnerability in Oracle MySQL Server 5.5.44 and earlier,
and 5.6.25 and earlier, allows remote authenticated users to affect
confidentiality, integrity, and availability via vectors related to
DML.
CVE-2015-4895
Unspecified vulnerability in Oracle MySQL Server 5.6.25 and earlier
allows remote authenticated users to affect availability via unknown
vectors related to Server : InnoDB.
CVE-2015-4913
Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier
and 5.6.26 and earlier allows remote authenticated users to affect
availability via vectors related to Server : DML, a different
vulnerability than CVE-2015-4858.
CVE-2015-5073
** 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-2015-8381
The compile_regex function in pcre_compile.c in PCRE before 8.38 and
pcre2_compile.c in PCRE2 before 10.2x mishandles the
/(?J:(?|(:(?|(?'R')(\k'R')|((?'R')))H'Rk'Rf)|s(?'R'))))/ and
/(?J:(?|(:(?|(?'R')(\z(?|(?'R')(\k'R')|((?'R')))k'R')|((?'R')))H'Ak'Rf)|s(?'R')))/
patterns, and related patterns with certain group references, which
allows remote attackers to cause a denial of service (heap-based
buffer overflow) or possibly have unspecified other impact via a
crafted regular expression, as demonstrated by a JavaScript RegExp
object encountered by Konqueror.
CVE-2015-8383
PCRE before 8.38 mishandles certain repeated conditional groups, which
allows remote attackers to cause a denial of service (buffer overflow)
or possibly have unspecified other impact via a crafted regular
expression, as demonstrated by a JavaScript RegExp object encountered
by Konqueror.
CVE-2015-8384
PCRE before 8.38 mishandles the /(?J)(?'d'(?'d'\g{d}))/ pattern and
related patterns with certain recursive back references, which allows
remote attackers to cause a denial of service (buffer overflow) or
possibly have unspecified other impact via a crafted regular
expression, as demonstrated by a JavaScript RegExp object encountered
by Konqueror, a related issue to CVE-2015-8392 and CVE-2015-8395.
CVE-2015-8385
PCRE before 8.38 mishandles the /(?|(\k'Pm')|(?'Pm'))/ pattern and
related patterns with certain forward references, which allows remote
attackers to cause a denial of service (buffer overflow) or possibly
have unspecified other impact via a crafted regular expression, as
demonstrated by a JavaScript RegExp object encountered by Konqueror.
CVE-2015-8386
PCRE before 8.38 mishandles the interaction of lookbehind assertions
and mutually recursive subpatterns, which allows remote attackers to
cause a denial of service (buffer overflow) or possibly have
unspecified other impact via a crafted regular expression, as
demonstrated by a JavaScript RegExp object encountered by Konqueror.
CVE-2015-8388
PCRE before 8.38 mishandles the /(?=di(?<=(?1))|(?=(.))))/ pattern and
related patterns with an unmatched closing parenthesis, which allows
remote attackers to cause a denial of service (buffer overflow) or
possibly have unspecified other impact via a crafted regular
expression, as demonstrated by a JavaScript RegExp object encountered
by Konqueror.
CVE-2015-8391
The pcre_compile function in pcre_compile.c in PCRE before 8.38
mishandles certain [: nesting, which allows remote attackers to cause
a denial of service (CPU consumption) or possibly have unspecified
other impact via a crafted regular expression, as demonstrated by a
JavaScript RegExp object encountered by Konqueror.
CVE-2015-8392
PCRE before 8.38 mishandles certain instances of the (?| substring,
which allows remote attackers to cause a denial of service (unintended
recursion and buffer overflow) or possibly have unspecified other
impact via a crafted regular expression, as demonstrated by a
JavaScript RegExp object encountered by Konqueror, a related issue to
CVE-2015-8384 and CVE-2015-8395.
CVE-2015-8395
PCRE before 8.38 mishandles certain references, which allows remote
attackers to cause a denial of service or possibly have unspecified
other impact via a crafted regular expression, as demonstrated by a
JavaScript RegExp object encountered by Konqueror, a related issue to
CVE-2015-8384 and CVE-2015-8392.
CVE-2016-0505
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows remote authenticated users
to affect availability via unknown vectors related to Options.
CVE-2016-0546
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows local users to affect
confidentiality, integrity, and availability via unknown vectors
related to Client. NOTE: the previous information is from the January
2016 CPU. Oracle has not commented on third-party claims that these
are multiple buffer overflows in the mysqlshow tool that allow remote
database servers to have unspecified impact via a long table or
database name.
CVE-2016-0596
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier and
5.6.27 and earlier and MariaDB before 5.5.47, 10.0.x before 10.0.23,
and 10.1.x before 10.1.10 allows remote authenticated users to affect
availability via vectors related to DML.
CVE-2016-0597
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows remote authenticated users
to affect availability via unknown vectors related to Optimizer.
CVE-2016-0598
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows remote authenticated users
to affect availability via vectors related to DML.
CVE-2016-0600
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows remote authenticated users
to affect availability via unknown vectors related to InnoDB.
CVE-2016-0606
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows remote authenticated users
to affect integrity via unknown vectors related to encryption.
CVE-2016-0608
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows remote authenticated users
to affect availability via vectors related to UDF.
CVE-2016-0609
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier, 5.6.27
and earlier, and 5.7.9 and MariaDB before 5.5.47, 10.0.x before
10.0.23, and 10.1.x before 10.1.10 allows remote authenticated users
to affect availability via unknown vectors related to privileges.
CVE-2016-0610
Unspecified vulnerability in Oracle MySQL 5.6.27 and earlier and
MariaDB before 10.0.22 and 10.1.x before 10.1.9 allows remote
authenticated users to affect availability via unknown vectors related
to InnoDB.
CVE-2016-0616
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier and
MariaDB before 5.5.47, 10.0.x before 10.0.23, and 10.1.x before
10.1.10 allows remote authenticated users to affect availability via
unknown vectors related to Optimizer.
CVE-2016-0640
Unspecified vulnerability in Oracle MySQL 5.5.47 and earlier, 5.6.28
and earlier, and 5.7.10 and earlier allows local users to affect
integrity and availability via vectors related to DML.
CVE-2016-0641
Unspecified vulnerability in Oracle MySQL 5.5.47 and earlier, 5.6.28
and earlier, and 5.7.10 and earlier allows local users to affect
confidentiality and availability via vectors related to MyISAM.
CVE-2016-0642
Unspecified vulnerability in Oracle MySQL 5.5.48 and earlier, 5.6.29
and earlier, and 5.7.11 and earlier allows local users to affect
integrity and availability via vectors related to Federated.
CVE-2016-0643
Unspecified vulnerability in Oracle MySQL 5.5.48 and earlier, 5.6.29
and earlier, and 5.7.11 and earlier allows local users to affect
confidentiality via vectors related to DML.
CVE-2016-0644
Unspecified vulnerability in Oracle MySQL 5.5.47 and earlier, 5.6.28
and earlier, and 5.7.10 and earlier allows local users to affect
availability via vectors related to DDL.
CVE-2016-0646
Unspecified vulnerability in Oracle MySQL 5.5.47 and earlier, 5.6.28
and earlier, and 5.7.10 and earlier allows local users to affect
availability via vectors related to DML.
CVE-2016-0647
Unspecified vulnerability in Oracle MySQL 5.5.48 and earlier, 5.6.29
and earlier, and 5.7.11 and earlier allows local users to affect
availability via vectors related to FTS.
CVE-2016-0648
Unspecified vulnerability in Oracle MySQL 5.5.48 and earlier, 5.6.29
and earlier, and 5.7.11 and earlier allows local users to affect
availability via vectors related to PS.
CVE-2016-0649
Unspecified vulnerability in Oracle MySQL 5.5.47 and earlier, 5.6.28
and earlier, and 5.7.10 and earlier allows local users to affect
availability via vectors related to PS.
CVE-2016-0650
Unspecified vulnerability in Oracle MySQL 5.5.47 and earlier, 5.6.28
and earlier, and 5.7.10 and earlier allows local users to affect
availability via vectors related to Replication.
CVE-2016-0651
Unspecified vulnerability in Oracle MySQL 5.5.46 and earlier allows
local users to affect availability via vectors related to Optimizer.
CVE-2016-0655
Unspecified vulnerability in Oracle MySQL 5.6.29 and earlier and
5.7.11 and earlier allows local users to affect availability via
vectors related to InnoDB.
CVE-2016-0666
Unspecified vulnerability in Oracle MySQL 5.5.48 and earlier, 5.6.29
and earlier, and 5.7.11 and earlier allows local users to affect
availability via vectors related to Security: Privileges.
CVE-2016-0668
Unspecified vulnerability in Oracle MySQL 5.6.28 and earlier and
5.7.10 and earlier allows local users to affect availability via
vectors related to InnoDB.
CVE-2016-1283
The pcre_compile2 function in pcre_compile.c in PCRE 8.38 mishandles
the
/((?:F? (?:^(?(R)a \){99}-
))(?J)(?'R'(?'R'<((?'RR'(?'R'\){97)?J)?J)(?'R'(?'R'\){99|(:(?|(?'R')(\k'R')|((?'R')))H'R'R)(H'R))))))/
pattern and related patterns with named subgroups, which allows remote
attackers to cause a denial of service (heap-based buffer overflow) or
possibly have unspecified other impact via a crafted regular
expression, as demonstrated by a JavaScript RegExp object encountered
by Konqueror.
CVE-2016-2047
The ssl_verify_server_cert function in sql-common/client.c in MariaDB
before 5.5.47, 10.0.x before 10.0.23, and 10.1.x before 10.1.10;
Oracle MySQL 5.5.48 and earlier, 5.6.29 and earlier, and 5.7.11 and
earlier; and Percona Server do not properly verify that the server
hostname matches a domain name in the subject's Common Name (CN) or
subjectAltName field of the X.509 certificate, which allows
man-in-the-middle attackers to spoof SSL servers via a /CN= string
in a field in a certificate, as demonstrated by
/OU=/CN=bar.com/CN=foo.com.
CVE-2016-3191
The compile_branch function in pcre_compile.c in PCRE 8.x before 8.39
and pcre2_compile.c in PCRE2 before 10.22 mishandles patterns
containing an (*ACCEPT) substring in conjunction with nested
parentheses, which allows remote attackers to execute arbitrary code
or cause a denial of service (stack-based buffer overflow) via a
crafted regular expression, as demonstrated by a JavaScript RegExp
object encountered by Konqueror, aka ZDI-CAN-3542.
Tenable has extracted the preceding description block directly from the MiracleLinux security advisory.
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://tsn.miraclelinux.com/en/node/6849");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:C");
script_set_cvss_temporal_vector("CVSS2#E:POC/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:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2015-8391");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2016-3191");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vendor_severity", value:"High");
script_set_attribute(attribute:"vuln_publication_date", value:"2015/01/12");
script_set_attribute(attribute:"patch_publication_date", value:"2016/05/30");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/01/16");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-bench");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-common");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-config");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-errmsg");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-oqgraph-engine");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-server");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:rh-mariadb100-mariadb-test");
script_set_attribute(attribute:"cpe", value:"cpe:/o:miracle:linux:4");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Miracle Linux Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/MiracleLinux/release", "Host/MiracleLinux/rpm-list", "Host/cpu");
exit(0);
}
include('rpm2.inc');
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_product = get_kb_item('installed_os/local/SSH/0/product');
if (isnull(os_product) || 'MIRACLE LINUX' >!< os_product) audit(AUDIT_OS_NOT, 'MIRACLE LINUX');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'MIRACLE LINUX');
if (! preg(pattern:"^4([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'MiracleLinux 4.x', 'MIRACLE LINUX ' + os_version);
if (!get_kb_item('Host/MiracleLinux/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('aarch64' >!< cpu && 'ppc' >!< cpu && 's390' >!< cpu && 'x86_64' >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'MIRACLE LINUX', cpu);
var constraints = [
{
'release': '4',
'pkgs': [
{'reference':'rh-mariadb100-mariadb-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-bench-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-common-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-config-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-devel-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-errmsg-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-oqgraph-engine-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-server-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
{'reference':'rh-mariadb100-mariadb-test-10.0.25-4.AXS4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'}
]
}
];
var os_release = get_one_kb_item('installed_os/local/SSH/0/release');
var os_sp = get_one_kb_item('Host/*/minor_release');
var flag = 0;
var reference;
var sp;
var _cpu;
var el_string;
var rpm_spec_vers_cmp;
var epoch;
var allowmaj;
var exists_check;
var cves;
foreach var constraint ( constraints ) {
# Check that the target release is equal to the affected release
if (!empty_or_null(constraint['release'])){
if (constraint['release'] != os_release) continue;
}
if (!empty_or_null(constraint['sp'])){
if (constraint['sp'] != os_sp) continue;
}
foreach var pkg ( constraint['pkgs'] ) {
reference = NULL;
sp = NULL;
_cpu = NULL;
el_string = NULL;
rpm_spec_vers_cmp = NULL;
epoch = NULL;
allowmaj = NULL;
exists_check = NULL;
cves = NULL;
if (!empty_or_null(pkg['reference'])) reference = pkg['reference'];
if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
if (!empty_or_null(pkg['cpu'])) _cpu = pkg['cpu'];
if (!empty_or_null(pkg['el_string'])) el_string = pkg['el_string'];
if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
if (!empty_or_null(pkg['epoch'])) epoch = pkg['epoch'];
if (!empty_or_null(pkg['allowmaj'])) allowmaj = pkg['allowmaj'];
if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
if (reference &&
## (no known rpm to check OR known rpm_exists)
(!exists_check || rpm_exists(rpm:exists_check)) &&
rpm_check(sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'rh-mariadb100-mariadb / rh-mariadb100-mariadb-bench / etc');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation