#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from F5 Networks BIG-IP Solution K000161886.
#
# @NOAGENT@
##
include('compat.inc');
if (description)
{
script_id(324919);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/02");
script_cve_id("CVE-2019-16775", "CVE-2019-16776", "CVE-2019-16777");
script_name(english:"F5 Networks BIG-IP : NPM CLI vulnerabilities (K000161886)");
script_set_attribute(attribute:"synopsis", value:
"The remote device is missing a vendor-supplied security patch.");
script_set_attribute(attribute:"description", value:
"The version of F5 Networks BIG-IP installed on the remote host is prior to 17.1.3.1 / 17.5.1.6. It is, therefore,
affected by multiple vulnerabilities as referenced in the K000161886 advisory.
CVE-2019-16775Versions of the npm CLI prior to 6.13.3 are vulnerable to an Arbitrary File Write. It is
possible for packages to create symlinks to files outside of thenode_modules folder through the bin field
upon installation. A properly constructed entry in the package.json bin field would allow a package
publisher to create a symlink pointing to arbitrary files on a user's system when the package is
installed. This behavior is still possible through install scripts. This vulnerability bypasses a user
using the --ignore-scripts install option.CVE-2019-16776Versions of the npm CLI prior to 6.13.3 are
vulnerable to an Arbitrary File Write. It fails to prevent access to folders outside of the intended
node_modules folder through the bin field. A properly constructed entry in the package.json bin field
would allow a package publisher to modify and/or gain access to arbitrary files on a user's system when
the package is installed. This behavior is still possible through install scripts. This vulnerability
bypasses a user using the --ignore-scripts install option.CVE-2019-16777Versions of the npm CLI prior to
6.13.4 are vulnerable to an Arbitrary File Overwrite. It fails to prevent existing globally-installed
binaries to be overwritten by other package installations. For example, if a package was installed
globally and created a serve binary, any subsequent installs of packages that also create a serve binary
would overwrite the previous serve binary. This behavior is still allowed in local installations and also
through install scripts. This vulnerability bypasses a user using the --ignore-scripts install option.
Tenable has extracted the preceding description block directly from the F5 Networks BIG-IP 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://my.f5.com/manage/s/article/K000161886");
script_set_attribute(attribute:"solution", value:
"Upgrade to one of the non-vulnerable versions listed in the F5 Solution K000161886.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:N/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:L/UI:N/S:U/C:H/I:H/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-16777");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2019-16776");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vuln_publication_date", value:"2019/12/13");
script_set_attribute(attribute:"patch_publication_date", value:"2026/07/02");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/07/02");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_access_policy_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_advanced_firewall_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_application_security_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_domain_name_system");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_global_traffic_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_iapps_lx");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_irules_lx");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_local_traffic_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_policy_enforcement_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_ssl_orchestrator");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_wan_optimization_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/h:f5:big-ip_protocol_security_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/h:f5:big-ip");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"F5 Networks Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("f5_bigip_detect.nbin");
script_require_keys("Host/local_checks_enabled", "Host/BIG-IP/hotfix", "Host/BIG-IP/modules", "Host/BIG-IP/version");
exit(0);
}
include('f5_func.inc');
if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var version = get_kb_item('Host/BIG-IP/version');
if ( ! version ) audit(AUDIT_OS_NOT, 'F5 Networks BIG-IP');
if ( isnull(get_kb_item('Host/BIG-IP/hotfix')) ) audit(AUDIT_KB_MISSING, 'Host/BIG-IP/hotfix');
if ( ! get_kb_item('Host/BIG-IP/modules') ) audit(AUDIT_KB_MISSING, 'Host/BIG-IP/modules');
var sol = 'K000161886';
var vmatrix = {
'AFM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'APM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'ASM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'DNS': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'GTM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'LTM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'PEM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'PSM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'SSL-Orchestrator': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'WOM': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'iAppsLX': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
},
'iRulesLX': {
'affected': [
'17.5.0-17.5.1','17.1.0-17.1.3'
],
'unaffected': [
'17.5.1.6','17.1.3.1'
],
}
};
if (bigip_is_affected(vmatrix:vmatrix, sol:sol))
{
var extra = NULL;
if (report_verbosity > 0) extra = bigip_report_get();
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : extra
);
}
else
{
var tested = bigip_get_tested_modules();
var audit_extra = 'For BIG-IP module(s) ' + tested + ',';
if (tested) audit(AUDIT_INST_VER_NOT_VULN, audit_extra, version);
else audit(AUDIT_HOST_NOT, 'running any of the affected modules');
}
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