code |
include("compat.inc");
if (description)
{
script_id(104039);
script_version("1.7");
script_set_attribute(attribute:"plugin_modification_date", value:"2018/08/10");
script_cve_id("CVE-2017-10618");
script_xref(name:"JSA", value:"JSA10820");
script_name(english:"Juniper Junos BGP Update Vulnerability (JSA10820)");
script_summary(english:"Checks the Junos version and build date.");
script_set_attribute(attribute:"synopsis", value:
"The remote device is missing a vendor-supplied security patch.");
script_set_attribute(attribute:"description", value:
"According to its self-reported version number, the remote Junos device
is affected by a vulnerability in the 'bgp-error-tolerance' feature
that when enabled, a BGP UPDATE containing a specifically crafted set of
transitive attributes can cause the RPD routing process to crash and restart.");
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?e14fb2fe");
script_set_attribute(attribute:"solution", value:
"Apply the relevant Junos software release or workarounds referenced in
Juniper advisory JSA10820.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
script_set_attribute(attribute:"vuln_publication_date", value:"2017/10/11");
script_set_attribute(attribute:"patch_publication_date", value:"2017/10/11");
script_set_attribute(attribute:"plugin_publication_date", value:"2017/10/20");
script_set_attribute(attribute:"plugin_type", value:"combined");
script_set_attribute(attribute:"cpe", value:"cpe:/o:juniper:junos");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Junos Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("junos_version.nasl");
script_require_keys("Host/Juniper/JUNOS/Version");
exit(0);
}
include("audit.inc");
include("junos_kb_cmd_func.inc");
ver = get_kb_item_or_exit('Host/Juniper/JUNOS/Version');
fixes = make_array();
fixes['13.3'] = '13.3R10-S2';
fixes['14.1'] = '14.1R8-S4';
fixes['14.1X50'] = '14.1X50-D185';
fixes['14.1X53'] = '14.1X53-D45';
fixes['14.2'] = '14.2R7-S7';
fixes['15.1'] = '15.1R5-S6';
fixes['15.1X49'] = '15.1X49-D100';
fixes['15.1X53'] = '15.1X53-D64';
fixes['16.1'] = '16.1R3-S4';
fixes['16.2'] = '16.2R1-S5';
fixes['17.1'] = '17.1R1-S3';
fixes['17.2'] = '17.2R1-S2';
fixes['17.2X75'] = '17.2X75-D50';
fixes['17.3'] = '17.3R1';
if (ver =~ "^15\.1F[0-5]") fixes['15.1F'] = '15.1F5-S8';
else if (ver =~ "^15\.1F6") fixes['15.1F'] = '15.1F6-S7';
else if (ver =~ "^15\.1R[0-5]") fixes['15.1R'] = '15.1R5-S6';
else if (ver =~ "^15\.1R6") fixes['15.1R'] = '15.1R6-S2';
else if (ver =~ "^16\.1R[0-3]") fixes['16.1R'] = '16.1R3-S4';
else if (ver =~ "^16\.1R4") fixes['16.1R'] = '15.1R4-S3';
fix = check_junos(ver:ver, fixes:fixes, exit_on_fail:TRUE);
override = TRUE;
buf = junos_command_kb_item(cmd:"show configuration | display set");
if (buf)
{
pattern = "^set protocols bgp bgp-error-tolerance*";
if (!junos_check_config(buf:buf, pattern:pattern))
audit(AUDIT_HOST_NOT, "affected because the 'bgp-error-tolerance' feature is not enabled");
override = FALSE;
}
junos_report(ver:ver, fix:fix, override:override, severity:SECURITY_HOLE);
|