Vulnerabilities > CVE-2020-1613 - Unspecified vulnerability in Juniper Junos

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
HIGH
network
low complexity
juniper
nessus

Summary

A vulnerability in the BGP FlowSpec implementation may cause a Juniper Networks Junos OS device to terminate an established BGP session upon receiving a specific BGP FlowSpec advertisement. The BGP NOTIFICATION message that terminates an established BGP session is sent toward the peer device that originally sent the specific BGP FlowSpec advertisement. This specific BGP FlowSpec advertisement received from a BGP peer might get propagated from a Junos OS device running the fixed release to another device that is vulnerable causing BGP session termination downstream. This issue affects IPv4 and IPv6 BGP FlowSpec deployment. This issue affects Juniper Networks Junos OS: 12.3; 12.3X48 on SRX Series; 14.1X53 on EX and QFX Series; 15.1 versions prior to 15.1R7-S5; 15.1F versions prior to 15.1F6-S13; 15.1X49 versions prior to 15.1X49-D180 on SRX Series; 15.1X53 versions prior to 15.1X53-D238 on QFX5200/QFX5110; 15.1X53 versions prior to 15.1X53-D497 on NFX Series; 15.1X53 versions prior to 15.1X53-D592 on EX2300/EX3400; 16.1 versions prior to 16.1R7-S7; 17.1 versions prior to 17.1R2-S12, 17.1R3; 17.2 versions prior to 17.2R2-S7, 17.2R3; 17.2X75 versions prior to 17.2X75-D102, 17.2X75-D110, 17.2X75-D44; 17.3 versions prior to 17.3R2-S5, 17.3R3-S5; 17.4 versions prior to 17.4R1-S8, 17.4R2; 18.1 versions prior to 18.1R2-S4, 18.1R3; 18.2X75 versions prior to 18.2X75-D20.

Nessus

NASL familyJunos Local Security Checks
NASL idJUNIPER_JSA10996.NASL
descriptionThe version of Junos OS installed on the remote host is 12.3, 12.3X48, 14.1X53 or prior to 15.1R7-S5, 15.1F6-S13, 15.1X49-D180, 15.1X53-D238, 15.1X53-D497, 15.1X53-D592, 16.1R7-S7, 17.1R2-S12, 17.2R2-S7, 17.2X75-D102, 17.3R2-S5, 17.4R1-S8, 18.1R2-S4, or 18.2X75-D20. It is, therefore, affected by a vulnerability in the BGP FlowSpec implementation. An unauthenticated, remote attacker can exploit, specific BGP FlowSpec advertisement, in order to terminate an established BGP session as referenced in the JSA10996 advisory. Note that Nessus has not tested for this issue but has instead relied only on the application
last seen2020-06-10
modified2020-04-30
plugin id136119
published2020-04-30
reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
sourcehttps://www.tenable.com/plugins/nessus/136119
titleJunos OS: Established BGP Session Termination Vulnerability (JSA10996)
code
#TRUSTED 483eaa695bd37ef6c3d9034e7047ad7aa8a81ea0ae983957c046fd1cc553945cad863e764bd8dcde53c67d10176528ca103656f6dc801126587652a9c70cc17b34f8af0d250a2050ec8b135ed4c606a9c8278987da5e13c994bff60a4a07b6141927f722d0341db659b8a0aa9cf68457466909766268db682101f5144e415e31171c0b0298c4f27b5e3734ddc7c3e29db090920e0b1f2cfaea8f3eff71f2e032f8fd33c6db232c53af721e54cf9ab1399281f82f9e3d1302759bd18b2814dcb44395ed624393ef413094c63bbbede345c207778378054cb1ee92ec9b252e7fffc7d43f650508b66e40e71a420d52c5f7b9fdb118392c3186dc6b5dfacf9e4455266feb1c37be830f6ca612c29892974e3d9393c5a79590f5830bcbb0d08223fff1a2a55dc618b35fad496e2e79a3eb0fcc5d433f07998531463f71d7da0cacd544f7b347f09b00c1a9d893eb61d55106a372d379a00bd54858b0195f4c6616402fa2db64ce1a8c169ca186e89dd321107f374aa2d201a094b344de1f3616c2543a0b2bb9fc807ba5ede16d5cf1d28f3b7dfe215808d7af0fedc8d233bb2fc062ec85d523680bfc7240d5297fa0da326d8dfdaa2489ea337ab5903bda23cc181f7701544c4f990b9c77e1c3632ebe5607b6a31c17b6921e3d2ad2ac5e4bd4d1b59ae7b1327ca40c9f63d96c6a454dec3df5aaa25c215b0c3147938fa18990c29c
#
# (C) Tenable Network Security, Inc.
#

include('compat.inc');

if (description)
{
  script_id(136119);
  script_version("1.6");
  script_set_attribute(attribute:"plugin_modification_date", value:"2020/07/17");

  script_cve_id("CVE-2020-1613");
  script_xref(name:"JSA", value:"JSA10996");
  script_xref(name:"IAVA", value:"2020-A-0162-S");

  script_name(english:"Junos OS: Established BGP Session Termination Vulnerability (JSA10996)");

  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 Junos OS installed on the remote host is 12.3, 12.3X48, 14.1X53 or prior to 15.1R7-S5, 15.1F6-S13, 15.1X49-D180, 15.1X53-D238,
15.1X53-D497, 15.1X53-D592, 16.1R7-S7, 17.1R2-S12, 17.2R2-S7, 17.2X75-D102, 17.3R2-S5, 17.4R1-S8, 18.1R2-S4, or
18.2X75-D20. It is, therefore, affected by a vulnerability in the BGP FlowSpec implementation. An unauthenticated,
remote attacker can exploit, specific BGP FlowSpec advertisement, in order to terminate an established BGP session
as referenced in the JSA10996 advisory.

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported 
version number.");
  script_set_attribute(attribute:"see_also", value:"https://kb.juniper.net/JSA10996");
  script_set_attribute(attribute:"solution", value:
"Apply the relevant Junos software release referenced in Juniper advisory JSA10996");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
  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:"cvss_score_source", value:"CVE-2020-1613");

  script_set_attribute(attribute:"vuln_publication_date", value:"2020/04/08");
  script_set_attribute(attribute:"patch_publication_date", value:"2020/04/08");
  script_set_attribute(attribute:"plugin_publication_date", value:"2020/04/30");

  script_set_attribute(attribute:"plugin_type", value:"combined");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:juniper:junos");
  script_set_attribute(attribute:"stig_severity", value:"I");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Junos Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("junos_version.nasl");
  script_require_keys("Host/Juniper/JUNOS/Version", "Host/Juniper/model");

  exit(0);
}

include('junos.inc');
include('junos_kb_cmd_func.inc');

ver = get_kb_item_or_exit('Host/Juniper/JUNOS/Version');
model = get_kb_item_or_exit('Host/Juniper/model');
fixes = make_array();

if (ver =~ "^12.3R" ||
   (model =~ "^SRX" && ver =~ "^12.3X48") || 
   (model =~ "^(EX|QFX)" && ver =~ "^14.1X53"))
{
  security_report_v4(port:0,extra:'This version is vulnerable. Please, check the vendor\'s advisory for more info.', severity:SECURITY_WARNING);
  exit(0);
}
fixes['15.1'] = '15.1R7-S5';
fixes['15.1F'] = '15.1F6-S13';

if (model =~ "^SRX")
  fixes['15.1X49'] = '15.1X49-D180';

if (model =~ "^(QFX5200|QFX5110)")
  fixes['15.1X53'] = '15.1X53-D238';

if (model =~ "^NFX")
  fixes['15.1X53'] = '15.1X53-D497';

if (model =~ "^(EX2300|EX3400)")
  fixes['15.1X53'] = '15.1X53-D592';

fixes['16.1'] = '16.1R7-S7';
fixes['17.1'] = '17.1R2-S12';
fixes['17.2'] = '17.2R2-S7';
fixes['17.2X75'] = '17.2X75-D44';
fixes['17.3'] = '17.3R2-S5';
fixes['17.4'] = '17.4R1-S8';
fixes['18.1'] = '18.1R2-S4';
fixes['18.2X75'] = '18.2X75-D20';

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)
{
  override = FALSE;
  pattern = "bgp .* family inet flow";
  if (!junos_check_config(buf:buf, pattern:pattern))
    audit(AUDIT_HOST_NOT, 'vulnerable');
}
junos_report(ver:ver, fix:fix, override:override, severity:SECURITY_WARNING);