6.8 Medium
CVSS2
Attack Vector
NETWORK
Attack Complexity
MEDIUM
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:N/AC:M/Au:N/C:P/I:P/A:P
7.1 High
CVSS3
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
NONE
Availability Impact
HIGH
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H
9.1 High
AI Score
Confidence
High
0.02 Low
EPSS
Percentile
89.1%
The remote Redhat Enterprise Linux 7 host has one or more packages installed that are affected by multiple vulnerabilities that have been acknowledged by the vendor but will not be patched.
nasm: use-after-free in paste_tokens in asm/preproc.c (CVE-2019-8343)
In Netwide Assembler (NASM) 2.14rc0, there are multiple heap use after free vulnerabilities in the tool nasm. The related heap is allocated in the token() function and freed in the detoken() function (called by pp_getline()) - it is used again at multiple positions later that could cause multiple damages. For example, it causes a corrupted double-linked list in detoken(), a double free or corruption in delete_Token(), and an out-of-bounds write in detoken(). It has a high possibility to lead to a remote code execution attack. (CVE-2017-10686)
In Netwide Assembler (NASM) 2.14rc0, preproc.c allows remote attackers to cause a denial of service (heap- based buffer overflow and application crash) or possibly have unspecified other impact via a crafted file.
(CVE-2017-11111)
Note that Nessus has not tested for these issues but has instead relied on the package manager’s report that the package is installed.
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Red Hat Security Advisory nasm. The text
# itself is copyright (C) Red Hat, Inc.
##
include('compat.inc');
if (description)
{
script_id(199071);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2024/06/03");
script_cve_id(
"CVE-2017-10686",
"CVE-2017-11111",
"CVE-2017-14228",
"CVE-2017-17810",
"CVE-2017-17811",
"CVE-2017-17812",
"CVE-2017-17813",
"CVE-2017-17814",
"CVE-2017-17815",
"CVE-2017-17816",
"CVE-2017-17817",
"CVE-2017-17818",
"CVE-2017-17819",
"CVE-2017-17820",
"CVE-2018-8881",
"CVE-2018-8882",
"CVE-2018-8883",
"CVE-2018-10016",
"CVE-2018-10254",
"CVE-2018-10316",
"CVE-2018-16382",
"CVE-2018-19213",
"CVE-2018-19214",
"CVE-2018-19215",
"CVE-2018-19755",
"CVE-2018-20535",
"CVE-2018-20538",
"CVE-2018-1000667",
"CVE-2018-1000886",
"CVE-2019-6290",
"CVE-2019-6291",
"CVE-2019-8343",
"CVE-2019-20334",
"CVE-2019-20352"
);
script_name(english:"RHEL 7 : nasm (Unpatched Vulnerability)");
script_set_attribute(attribute:"synopsis", value:
"The remote Red Hat 7 host is affected by multiple vulnerabilities that will not be patched.");
script_set_attribute(attribute:"description", value:
"The remote Redhat Enterprise Linux 7 host has one or more packages installed that are affected by multiple
vulnerabilities that have been acknowledged by the vendor but will not be patched.
- nasm: use-after-free in paste_tokens in asm/preproc.c (CVE-2019-8343)
- In Netwide Assembler (NASM) 2.14rc0, there are multiple heap use after free vulnerabilities in the tool
nasm. The related heap is allocated in the token() function and freed in the detoken() function (called by
pp_getline()) - it is used again at multiple positions later that could cause multiple damages. For
example, it causes a corrupted double-linked list in detoken(), a double free or corruption in
delete_Token(), and an out-of-bounds write in detoken(). It has a high possibility to lead to a remote
code execution attack. (CVE-2017-10686)
- In Netwide Assembler (NASM) 2.14rc0, preproc.c allows remote attackers to cause a denial of service (heap-
based buffer overflow and application crash) or possibly have unspecified other impact via a crafted file.
(CVE-2017-11111)
Note that Nessus has not tested for these issues but has instead relied on the package manager's report that the package
is installed.");
script_set_attribute(attribute:"solution", value:
"The vendor has acknowledged the vulnerabilities but no solution has been provided. Refer to the vendor for remediation
guidance.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/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-2019-8343");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vendor_unpatched", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2017/06/29");
script_set_attribute(attribute:"plugin_publication_date", value:"2024/06/03");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:7");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nasm");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Red Hat Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl", "redhat_repos.nasl");
script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");
exit(0);
}
include('rpm.inc');
include('rhel.inc');
if (!get_kb_item("global_settings/vendor_unpatched"))
exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/RedHat/release');
if (isnull(os_release) || 'Red Hat' >!< os_release) audit(AUDIT_OS_NOT, 'Red Hat');
var os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:os_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'Red Hat');
os_ver = os_ver[1];
if (!rhel_check_release(operator: 'ge', os_version: os_ver, rhel_version: '7')) audit(AUDIT_OS_NOT, 'Red Hat 7.x', 'Red Hat ' + os_ver);
if (!get_kb_item('Host/RedHat/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu && 'ppc' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Red Hat', cpu);
var constraints = [
{
'pkgs': [
{'reference':'nasm', 'release':'7', 'rpm_spec_vers_cmp':TRUE, 'unpatched_pkg':'nasm'}
]
}
];
var flag = 0;
foreach var constraint_array ( constraints ) {
var repo_relative_urls = NULL;
var enterprise_linux_flag = rhel_repo_urls_has_content_dist_rhel(repo_urls:repo_relative_urls);
foreach var pkg ( constraint_array['pkgs'] ) {
var unpatched_pkg = NULL;
var _release = NULL;
var sp = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var exists_check = NULL;
var cves = NULL;
if (!empty_or_null(pkg['unpatched_pkg'])) unpatched_pkg = pkg['unpatched_pkg'];
if (!empty_or_null(pkg['release'])) _release = 'RHEL' + pkg['release'];
if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
if (unpatched_pkg &&
_release &&
(!exists_check || rpm_exists(release:_release, rpm:exists_check)) &&
unpatched_package_exists(release:_release, package:unpatched_pkg, cves: cves)) flag++;
}
}
if (flag)
{
var extra = NULL;
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : unpatched_packages_report()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'nasm');
}
Vendor | Product | Version | CPE |
---|---|---|---|
redhat | enterprise_linux | nasm | p-cpe:/a:redhat:enterprise_linux:nasm |
redhat | enterprise_linux | 7 | cpe:/o:redhat:enterprise_linux:7 |
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10686
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11111
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14228
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17810
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17811
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17812
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17813
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17814
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17815
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17816
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17817
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17818
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17819
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17820
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000667
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000886
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10016
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10254
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10316
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16382
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19213
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19214
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19215
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19755
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20535
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20538
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8881
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8882
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-8883
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20334
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20352
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6290
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6291
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8343
6.8 Medium
CVSS2
Attack Vector
NETWORK
Attack Complexity
MEDIUM
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:N/AC:M/Au:N/C:P/I:P/A:P
7.1 High
CVSS3
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
NONE
Availability Impact
HIGH
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H
9.1 High
AI Score
Confidence
High
0.02 Low
EPSS
Percentile
89.1%