Vulnerabilities > CVE-2017-2315 - Missing Release of Resource after Effective Lifetime 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
CWE-772
nessus

Summary

On Juniper Networks EX Series Ethernet Switches running affected Junos OS versions, a vulnerability in IPv6 processing has been discovered that may allow a specially crafted IPv6 Neighbor Discovery (ND) packet destined to an EX Series Ethernet Switch to cause a slow memory leak. A malicious network-based packet flood of these crafted IPv6 NDP packets may eventually lead to resource exhaustion and a denial of service. The affected Junos OS versions are: 12.3 prior to 12.3R12-S4, 12.3R13; 13.3 prior to 13.3R10; 14.1 prior to 14.1R8-S3, 14.1R9; 14.1X53 prior ro 14.1X53-D12, 14.1X53-D40; 14.1X55 prior to 14.1X55-D35; 14.2 prior to 14.2R6-S4, 14.2R7-S6, 14.2R8; 15.1 prior to 15.1R5; 16.1 before 16.1R3; 16.2 before 16.2R1-S3, 16.2R2. 17.1R1 and all subsequent releases have a resolution for this vulnerability.

Common Attack Pattern Enumeration and Classification (CAPEC)

  • HTTP DoS
    An attacker performs flooding at the HTTP level to bring down only a particular web application rather than anything listening on a TCP/IP connection. This denial of service attack requires substantially fewer packets to be sent which makes DoS harder to detect. This is an equivalent of SYN flood in HTTP. The idea is to keep the HTTP session alive indefinitely and then repeat that hundreds of times. This attack targets resource depletion weaknesses in web server software. The web server will wait to attacker's responses on the initiated HTTP sessions while the connection threads are being exhausted.

Nessus

NASL familyJunos Local Security Checks
NASL idJUNIPER_JSA10781.NASL
descriptionAccording to its self-reported version, the remote Juniper Junos EX Series device is affected by a memory leak issue in IPv6 processing when handling a specially crafted IPv6 Neighbor Discovery (ND) packet. An unauthenticated, remote attacker can exploit this, via a malicious network-based flood of these crafted IPv6 NDP packets, to cause resource exhaustion, resulting in a denial of service condition. Note that this issue only affects EX Series Ethernet Switches with IPv6 enabled. Nessus has not tested for this issue but has instead relied only on the device
last seen2020-03-18
modified2017-04-20
plugin id99526
published2017-04-20
reporterThis script is Copyright (C) 2017-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/99526
titleJuniper Junos for EX Series Switches IPv6 Neighbor Discovery DoS (JSA10781)
code
#TRUSTED 4dcdfaccb53c4190d29d4ee2de7eb676fc5a6f4f89468ba301ec49c56a4b188ebfccfb14ddcd1e4cdc9bd16053fa64ea4b5422c31f75306248987aa3315712f308457ef4168b7023e19095317cab30aeed12f50e760338d6e597a08d528dee69a95b9eff9ba44897d4262d20f1b5f5f176f08b89c2fb30031dee612c107961c102eac70f9bd9c9fbf336c4f975cadb181c84a2ffa075db545b830a66be79f5f3a3385239b5ed04e080d9d782166aa920b4f06ffdcf6254c0361883dd9d52d83fabcd182ffd4466e678a928a094e676ca99e536f6105d1091a5cfb84a4db4ee5e4296fdbe95d6e7d759609118400e7134ed3dcf45a99f0fe70161b9e2b0da7f6f0cdb653ad417725f888100702e94ff2f3e1944b7a24818e962d0780a09ea66769b12d35ebe21f0a4dd872346eac804fc8b20190dc2d388d81cd6b71bd59be61a598740eab26d8b59c3dd5e9364936d33a215c0ca3b1089713da75a54b3ef3ba8d182378db0e2c14f34d7d81c636ce2e2a027404b65f86b504d97faae291d566acec064b7b98799873bc92995ddc1d9acd680ccc669e1b3d4778fe300bbc9dee7fd0eff6df100746568f6428353e2ec419778a30b9283897a01dc928da53e4f45accc34801e75af076ad3bf798c3358f1d8b1fb66ae7018119540eef6dcdbcab1436bb86bd5b4385ce335404d55d1411b97ac6b11c25e58aafbe407c7386ca0e1
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(99526);
  script_version("1.5");
  script_set_attribute(attribute:"plugin_modification_date", value:"2018/08/10");

  script_cve_id("CVE-2017-2315");
  script_bugtraq_id(97615);
  script_xref(name:"JSA", value:"JSA10781");

  script_name(english:"Juniper Junos for EX Series Switches IPv6 Neighbor Discovery DoS (JSA10781)");
  script_summary(english:"Checks the Junos version and model.");

  script_set_attribute(attribute:"synopsis", value:
"The remote device is affected by a denial of service vulnerability.");
  script_set_attribute(attribute:"description", value:
"According to its self-reported version, the remote Juniper Junos EX
Series device is affected by a memory leak issue in IPv6 processing
when handling a specially crafted IPv6 Neighbor Discovery (ND) packet.
An unauthenticated, remote attacker can exploit this, via a malicious
network-based flood of these crafted IPv6 NDP packets, to cause
resource exhaustion, resulting in a denial of service condition. Note
that this issue only affects EX Series Ethernet Switches with IPv6
enabled.

Nessus has not tested for this issue but has instead relied only on
the device's self-reported version and model.");
  # https://kb.juniper.net/InfoCenter/index?page=content&id=JSA10781&actp=METADATA
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?ae19d456");
  script_set_attribute(attribute:"solution", value:
"Apply the relevant Junos software release or workaround referenced in
Juniper advisory JSA10781.");
  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:L");

  script_set_attribute(attribute:"vuln_publication_date", value:"2017/04/12");
  script_set_attribute(attribute:"patch_publication_date", value:"2017/04/12");
  script_set_attribute(attribute:"plugin_publication_date", value:"2017/04/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 Tenable Network Security, Inc.");

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

  exit(0);
}

include("audit.inc");
include("junos_kb_cmd_func.inc");
include("misc_func.inc");

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

if (model !~ "^EX")
  audit(AUDIT_HOST_NOT, 'an EX device');

# Workaround is available
if (report_paranoia < 2) audit(AUDIT_PARANOID);

fixes = make_array();

fixes['12.3R12'] = '12.3R12-S4';
fixes['12.3'] = '12.3R13';
fixes['13.3'] = '13.3R10';
fixes['14.1R8'] = '14.1R8-S3';
fixes['14.1'] = '14.1R9';
fixes['14.1X53'] = '14.1X53-D12'; # or 14.1X53-D40
fixes['14.1X55'] = '14.1X55-D35';
fixes['14.2R6'] = '14.2R6-S4';
fixes['14.2R7'] = '14.2R7-S6';
fixes['14.2'] = '14.2R8';
fixes['15.1'] = '15.1R5';
fixes['16.1'] = '16.1R3';
fixes['16.2R1'] = '16.2R1-S3';
fixes['16.2'] = '16.2R2';
fixes['17.1'] = '17.1R1';

fix = check_junos(ver:ver, fixes:fixes, exit_on_fail:TRUE);

junos_report(ver:ver, fix:fix, model:model, severity:SECURITY_WARNING);