Cisco IOS XE Software Forwarding Information Base DoS (cisco-sa-20180328-FIB-dos)

2020-01-08T00:00:00
ID CISCO-SA-20180328-FIB-DOS-IOSXE.NASL
Type nessus
Reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
Modified 2020-04-02T00:00:00

Description

According to its self-reported version, Cisco IOS XE Software is affected by a denial of service (DoS) vulnerability in the Forwarding Information Base code due to a limitation in the way the FIB is internally representing recursive routes. An unauthenticated, network attacker can exploit this, by injecting routes into the routing protocol that have a specific recursive pattern, provided that the attacker is in a position on the network that provides the ability to inject a number of recursive routs with a specific pattern. An exploit allows the attacker to cause an affected device to reload, creating a DoS condition.

Please see the included Cisco BIDs and Cisco Security Advisory for more information.

Note that Nessus has not tested for this issue but has instead relied only on the application

                                        
                                            #TRUSTED 2eb60f3f749740cf1b5d64376130b04f9420e0002c8be5fc7cbe353ecc2cf573ab77fd7b3c1fdc2c6d516af3e01d7aa38690b5779af19cb0c6a88e3bb0a434f15b87b11e92062895fe269fa1f65153e0668506d12816a62818de270534bd9e2bbffd63f5d2429a86f58bdb29b4213ccd2d361fd15318d48c1a5a1efe58ebf7c2f35f7588207d24fab4bb7e1f78684737ea6d6a86268b7e84deb638bc172d7b716ca71bdc8ee385ed3f78bbcf2db710d468f015c9be82c16f8a86bd7df8f5e004a721a0b436bd4b2fa53c76dcacb173b69f8a965bd1b171565d385b917ac381426660a3a5d1a78fbaf8fe9011c28c3461bd50ddcb3995b0505d0ee0d7cfdc6813719267d32d40ff2fe13d714e8f06e1f5b6edc92d60407245043745819062becd4b3874089cd9698a100d196ed4347b2753b7a9555d283f9b9121e14469751a910b830ba5ac8c1c2bb85ccdda85673da2aa099d980e178f3832c5c1dd36b20bee92b9acd8c2612e067dbc2e7a6ecc0ff63d7e012e29683fedf3d032ae87f9b31e890fbb1bd5321087273623b3154c21e82bc202826e429a59affcec3ea4c639ec755c80cac41df4a3963b4adeb5ab89f8af1a3efc18fa47909d7aeb091b2b4824aec39c368ff1f1179942e984d1ae23a7f55caf9354cae13dbd9e7a96294ffa2bda86d5af98b8a1362c5cf4185b68f724fe30e1a208a359d59966b8d918ace5db
#
# (C) Tenable Network Security, Inc.
#

include('compat.inc');

if (description)
{
  script_id(132698);
  script_version("1.4");
  script_cvs_date("Date: 2020/01/09");

  script_cve_id("CVE-2018-0189");
  script_bugtraq_id(103548);
  script_xref(name:"CISCO-BUG-ID", value:"CSCva91655");
  script_xref(name:"CISCO-SA", value:"cisco-sa-20180328-FIB-dos");

  script_name(english:"Cisco IOS XE Software Forwarding Information Base DoS (cisco-sa-20180328-FIB-dos)");

  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, Cisco IOS XE Software is affected by a denial of service (DoS) vulnerability
in the Forwarding Information Base code due to a limitation in the way the FIB is internally representing recursive
routes. An unauthenticated, network attacker can exploit this, by injecting routes into the routing protocol that have
a specific recursive pattern, provided that the attacker is in a position on the network that provides the ability to
inject a number of recursive routs with a specific pattern. An exploit allows the attacker to cause an affected device
to reload, creating a DoS condition.

Please see the included Cisco BIDs and Cisco Security Advisory for more information.

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  # https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180328-FIB-dos
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?9af64740");
  script_set_attribute(attribute:"see_also", value:"https://bst.cloudapps.cisco.com/bugsearch/bug/CSCva91655");
  script_set_attribute(attribute:"solution", value:
"Upgrade to the relevant fixed version referenced in Cisco bug ID(s) CSCva91655.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2018-0189");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");

  script_set_attribute(attribute:"vuln_publication_date", value:"2018/03/28");
  script_set_attribute(attribute:"patch_publication_date", value:"2018/03/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2020/01/08");

  script_set_attribute(attribute:"potential_vulnerability", value:"true");
  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:cisco:ios_xe");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"CISCO");

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

  script_dependencies("cisco_ios_xe_version.nasl");
  script_require_keys("Host/Cisco/IOS-XE/Version", "Settings/ParanoidReport");

  exit(0);
}

include('cisco_workarounds.inc');
include('ccf.inc');
include('audit.inc');

if (report_paranoia < 2) audit(AUDIT_PARANOID);

product_info = cisco::get_product_info(name:'Cisco IOS XE Software');

# Converted from IOS versions found on the BID page to IOS XE versions, according to cisco_ios_xe_version.nasl
version_list = make_list(
  '3.5.0E',
  '3.6.0E',
  '3.7.1E',
  '3.7.2E',
  '3.7.3E',
  '3.7.0E',
  '3.11.0S',
  '3.12.0S',
  '3.12.0aS',
  '3.13.6S',
  '3.13.0S',
  '3.13.0aS',
  '3.13.1S',
  '3.13.2S',
  '3.13.2aS',
  '3.13.3S',
  '3.13.4S',
  '3.13.5S',
  '3.14.0S',
  '3.14.1S',
  '3.14.2S',
  '3.14.3S',
  '3.14.4S',
  '3.15.0.1S',
  '3.15.0S',
  '3.15.1S',
  '3.15.1cS',
  '3.15.2S',
  '3.15.3S',
  '3.16.0S',
  '3.16.0cS',
  '3.16.1S',
  '3.16.1aS',
  '3.16.2S',
  '3.16.2aS',
  '3.16.3S',
  '3.16.4aS',
  '3.16.4bS'
);

workarounds = make_list(CISCO_WORKAROUNDS['no_workaround']);

reporting = make_array(
  'port'     , 0,
  'severity' , SECURITY_HOLE,
  'version'  , product_info['version'],
  'bug_id'   , 'CSCva91655'
);

cisco::check_and_report(
  product_info:product_info,
  workarounds:workarounds,
  reporting:reporting,
  vuln_versions:version_list
);