Vulnerabilities > CVE-2013-1142 - Race Condition vulnerability in Cisco IOS

047910
CVSS 7.8 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
COMPLETE
network
low complexity
cisco
CWE-362
nessus

Summary

Race condition in the VRF-aware NAT feature in Cisco IOS 12.2 through 12.4 and 15.0 through 15.2 allows remote attackers to cause a denial of service (memory consumption) via IPv4 packets, aka Bug IDs CSCtg47129 and CSCtz96745.

Vulnerable Configurations

Part Description Count
OS
Cisco
2705

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Leveraging Race Conditions
    This attack targets a race condition occurring when multiple processes access and manipulate the same resource concurrently and the outcome of the execution depends on the particular order in which the access takes place. The attacker can leverage a race condition by "running the race", modifying the resource and modifying the normal execution flow. For instance a race condition can occur while accessing a file, the attacker can trick the system by replacing the original file with his version and cause the system to read the malicious file.
  • Leveraging Time-of-Check and Time-of-Use (TOCTOU) Race Conditions
    This attack targets a race condition occurring between the time of check (state) for a resource and the time of use of a resource. The typical example is the file access. The attacker can leverage a file access race condition by "running the race", meaning that he would modify the resource between the first time the target program accesses the file and the time the target program uses the file. During that period of time, the attacker could do something such as replace the file and cause an escalation of privilege.

Nessus

NASL familyCISCO
NASL idCISCO-SA-20130327-NAT.NASL
descriptionThe Cisco IOS Software implementation of the virtual routing and forwarding (VRF) aware network address translation (NAT) feature contains a vulnerability when translating IP packets that could allow an unauthenticated, remote attacker to cause a denial of service (DoS) condition. Cisco has released free software updates that address this vulnerability. Workarounds that mitigate this vulnerability are not available.
last seen2019-10-28
modified2013-04-10
plugin id65888
published2013-04-10
reporterThis script is Copyright (C) 2013-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/65888
titleCisco IOS Software Network Address Translation Vulnerability (cisco-sa-20130327-nat)
code
#TRUSTED 912e6ab3bfa216e8dc18def293c8fee2b2a3b75a0eea4d8c0c028b22d5ec7c710faf40e0ccce3182fcfdeb250c7800fce8608322bfec59580ebd6d18398de97000c5ef6b52b77240fa248b5297a922102056f302c6a43768a050773a296687526e261702636eedd8e9b1f6674efdca1578df8a5d7a7a713470a7dfa64f0f6f2780fab5b70c6287a14e4db7739d1eb089c01be03cecee5aebdf65ab2f176e8a140bd4a50776cd9c783027040003c3acac8bdb9df290ca7526afe037257bb26509d5a81ae5ad330ff48a17a16d55ffac6676d73668c070394b0d3491baf5f81f08188db80f4336acda0346eadfe7f78403dd7cecc1f6a88636e8c1233e14b8812afa2124a57c822708662c04e1c97366b4d33934004c4c06d8675e021d04694d7ac2d71c09bc9a1c11be46989375192078eda95c4dfbc80bd904892063352b0c9d1bb921424d261b0169b46d844716fc105918f149bbc1a9724c57b7f6bf66df41fb70a1365316fd05244600f8e88617f65f0062cb0a68228bd4452c2a54f745cbe1963e7dc518b84a18fee708f3a5a071542d9f2e53dded7e4e233b2df3dfa7051b78792b343edf483b5b0281e2e08841c3ee249601f4d3382f72e53c7793ad2e702b341539f51a7129fe2ef6eae5bccc470a0924c530cfec3bd503f774c6df2e0c33e718e94bc1c2c28798b326b2f24819cf4e32f8df9c2817d118f6c6a9a8d3
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Cisco Security Advisory cisco-sa-20130327-nat.
# The text itself is copyright (C) Cisco
#

include("compat.inc");

if (description)
{
  script_id(65888);
  script_version("1.15");
  script_set_attribute(attribute:"plugin_modification_date", value:"2018/11/15");

  script_cve_id("CVE-2013-1142");
  script_bugtraq_id(58745);
  script_xref(name:"CISCO-BUG-ID", value:"CSCtg47129");
  script_xref(name:"CISCO-SA", value:"cisco-sa-20130327-nat");

  script_name(english:"Cisco IOS Software Network Address Translation Vulnerability (cisco-sa-20130327-nat)");
  script_summary(english:"Checks the IOS version.");

  script_set_attribute(
    attribute:"synopsis",
    value:"The remote device is missing a vendor-supplied security patch."
  );
  script_set_attribute(
    attribute:"description",
    value:
"The Cisco IOS Software implementation of the virtual routing and
forwarding (VRF) aware network address translation (NAT) feature
contains a vulnerability when translating IP packets that could allow
an unauthenticated, remote attacker to cause a denial of service (DoS)
condition. Cisco has released free software updates that address this
vulnerability. Workarounds that mitigate this vulnerability are not
available."
  );
  # https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20130327-nat
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?dee45dc5"
  );
  script_set_attribute(
    attribute:"solution",
    value:
"Apply the relevant patch referenced in Cisco Security Advisory
cisco-sa-20130327-nat."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"plugin_type", value:"combined");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:cisco:ios");

  script_set_attribute(attribute:"vuln_publication_date", value:"2013/03/27");
  script_set_attribute(attribute:"patch_publication_date", value:"2013/04/11");
  script_set_attribute(attribute:"plugin_publication_date", value:"2013/04/10");

  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2013-2018 Tenable Network Security, Inc.");
  script_family(english:"CISCO");

  script_dependencies("cisco_ios_version.nasl");
  script_require_keys("Host/Cisco/IOS/Version");

  exit(0);
}



include("audit.inc");
include("cisco_func.inc");
include("cisco_kb_cmd_func.inc");

flag = 0;
override = 0;

version = get_kb_item_or_exit("Host/Cisco/IOS/Version");
if ( version == '12.2(25)EW' ) flag++;
if ( version == '12.2(25)EWA' ) flag++;
if ( version == '12.2(25)EWA1' ) flag++;
if ( version == '12.2(25)EWA10' ) flag++;
if ( version == '12.2(25)EWA11' ) flag++;
if ( version == '12.2(25)EWA12' ) flag++;
if ( version == '12.2(25)EWA13' ) flag++;
if ( version == '12.2(25)EWA14' ) flag++;
if ( version == '12.2(25)EWA2' ) flag++;
if ( version == '12.2(25)EWA3' ) flag++;
if ( version == '12.2(25)EWA4' ) flag++;
if ( version == '12.2(25)EWA5' ) flag++;
if ( version == '12.2(25)EWA6' ) flag++;
if ( version == '12.2(25)EWA7' ) flag++;
if ( version == '12.2(25)EWA8' ) flag++;
if ( version == '12.2(25)EWA9' ) flag++;
if ( version == '12.2(25)EY' ) flag++;
if ( version == '12.2(25)EY1' ) flag++;
if ( version == '12.2(25)EY2' ) flag++;
if ( version == '12.2(25)EY3' ) flag++;
if ( version == '12.2(25)EY4' ) flag++;
if ( version == '12.2(25)EZ' ) flag++;
if ( version == '12.2(25)EZ1' ) flag++;
if ( version == '12.2(25)FX' ) flag++;
if ( version == '12.2(25)FY' ) flag++;
if ( version == '12.2(25)FZ' ) flag++;
if ( version == '12.2(25)S' ) flag++;
if ( version == '12.2(25)S1' ) flag++;
if ( version == '12.2(25)S10' ) flag++;
if ( version == '12.2(25)S11' ) flag++;
if ( version == '12.2(25)S12' ) flag++;
if ( version == '12.2(25)S13' ) flag++;
if ( version == '12.2(25)S14' ) flag++;
if ( version == '12.2(25)S15' ) flag++;
if ( version == '12.2(25)S2' ) flag++;
if ( version == '12.2(25)S3' ) flag++;
if ( version == '12.2(25)S4' ) flag++;
if ( version == '12.2(25)S5' ) flag++;
if ( version == '12.2(25)S6' ) flag++;
if ( version == '12.2(25)S7' ) flag++;
if ( version == '12.2(25)S8' ) flag++;
if ( version == '12.2(25)S9' ) flag++;
if ( version == '12.2(25)SEA' ) flag++;
if ( version == '12.2(25)SEB' ) flag++;
if ( version == '12.2(25)SEB1' ) flag++;
if ( version == '12.2(25)SEB2' ) flag++;
if ( version == '12.2(25)SEB3' ) flag++;
if ( version == '12.2(25)SEB4' ) flag++;
if ( version == '12.2(25)SEC' ) flag++;
if ( version == '12.2(25)SEC1' ) flag++;
if ( version == '12.2(25)SEC2' ) flag++;
if ( version == '12.2(25)SED' ) flag++;
if ( version == '12.2(25)SED1' ) flag++;
if ( version == '12.2(25)SEE' ) flag++;
if ( version == '12.2(25)SEE1' ) flag++;
if ( version == '12.2(25)SEE2' ) flag++;
if ( version == '12.2(25)SEE3' ) flag++;
if ( version == '12.2(25)SEE4' ) flag++;
if ( version == '12.2(25)SEF' ) flag++;
if ( version == '12.2(25)SEF1' ) flag++;
if ( version == '12.2(25)SEF2' ) flag++;
if ( version == '12.2(25)SEF3' ) flag++;
if ( version == '12.2(25)SEG' ) flag++;
if ( version == '12.2(25)SEG1' ) flag++;
if ( version == '12.2(25)SEG3' ) flag++;
if ( version == '12.2(25)SG' ) flag++;
if ( version == '12.2(25)SG1' ) flag++;
if ( version == '12.2(25)SG2' ) flag++;
if ( version == '12.2(25)SG3' ) flag++;
if ( version == '12.2(25)SG4' ) flag++;
if ( version == '12.2(25)SV2' ) flag++;
if ( version == '12.2(25)SW' ) flag++;
if ( version == '12.2(25)SW1' ) flag++;
if ( version == '12.2(25)SW10' ) flag++;
if ( version == '12.2(25)SW11' ) flag++;
if ( version == '12.2(25)SW12' ) flag++;
if ( version == '12.2(25)SW2' ) flag++;
if ( version == '12.2(25)SW3' ) flag++;
if ( version == '12.2(25)SW3a' ) flag++;
if ( version == '12.2(25)SW4' ) flag++;
if ( version == '12.2(25)SW4a' ) flag++;
if ( version == '12.2(25)SW5' ) flag++;
if ( version == '12.2(25)SW6' ) flag++;
if ( version == '12.2(25)SW7' ) flag++;
if ( version == '12.2(25)SW8' ) flag++;
if ( version == '12.2(25)SW9' ) flag++;
if ( version == '12.2(27)SBA' ) flag++;
if ( version == '12.2(27)SBA4' ) flag++;
if ( version == '12.2(27)SBA5' ) flag++;
if ( version == '12.2(27)SBA6' ) flag++;
if ( version == '12.2(27)SBB' ) flag++;
if ( version == '12.2(27)SBB4d' ) flag++;
if ( version == '12.2(27)SBB6a' ) flag++;
if ( version == '12.2(27)SBB8' ) flag++;
if ( version == '12.2(27)SBC' ) flag++;
if ( version == '12.2(27)SBC1' ) flag++;
if ( version == '12.2(27)SBC2' ) flag++;
if ( version == '12.2(27)SBC3' ) flag++;
if ( version == '12.2(27)SBC4' ) flag++;
if ( version == '12.2(27)SBC5' ) flag++;
if ( version == '12.2(27)SV5' ) flag++;
if ( version == '12.2(28)SB' ) flag++;
if ( version == '12.2(28)SB1' ) flag++;
if ( version == '12.2(28)SB10' ) flag++;
if ( version == '12.2(28)SB11' ) flag++;
if ( version == '12.2(28)SB12' ) flag++;
if ( version == '12.2(28)SB13' ) flag++;
if ( version == '12.2(28)SB2' ) flag++;
if ( version == '12.2(28)SB3' ) flag++;
if ( version == '12.2(28)SB4' ) flag++;
if ( version == '12.2(28)SB5' ) flag++;
if ( version == '12.2(28)SB6' ) flag++;
if ( version == '12.2(28)SB7' ) flag++;
if ( version == '12.2(28)SB8' ) flag++;
if ( version == '12.2(28)SB9' ) flag++;
if ( version == '12.2(28)ZV' ) flag++;
if ( version == '12.2(28)ZV1' ) flag++;
if ( version == '12.2(29)SM' ) flag++;
if ( version == '12.2(29)SM1' ) flag++;
if ( version == '12.2(29)SM2' ) flag++;
if ( version == '12.2(29)SM3' ) flag++;
if ( version == '12.2(29)SM4' ) flag++;
if ( version == '12.2(29)SM5' ) flag++;
if ( version == '12.2(29)SM6' ) flag++;
if ( version == '12.2(29)SM7' ) flag++;
if ( version == '12.2(29)SV3' ) flag++;
if ( version == '12.2(31)SB' ) flag++;
if ( version == '12.2(31)SB1' ) flag++;
if ( version == '12.2(31)SB10' ) flag++;
if ( version == '12.2(31)SB10a' ) flag++;
if ( version == '12.2(31)SB10c' ) flag++;
if ( version == '12.2(31)SB10d' ) flag++;
if ( version == '12.2(31)SB10e' ) flag++;
if ( version == '12.2(31)SB11' ) flag++;
if ( version == '12.2(31)SB11a' ) flag++;
if ( version == '12.2(31)SB12' ) flag++;
if ( version == '12.2(31)SB12a' ) flag++;
if ( version == '12.2(31)SB13' ) flag++;
if ( version == '12.2(31)SB14' ) flag++;
if ( version == '12.2(31)SB15' ) flag++;
if ( version == '12.2(31)SB16' ) flag++;
if ( version == '12.2(31)SB17' ) flag++;
if ( version == '12.2(31)SB18' ) flag++;
if ( version == '12.2(31)SB19' ) flag++;
if ( version == '12.2(31)SB1f' ) flag++;
if ( version == '12.2(31)SB2' ) flag++;
if ( version == '12.2(31)SB20' ) flag++;
if ( version == '12.2(31)SB21' ) flag++;
if ( version == '12.2(31)SB3' ) flag++;
if ( version == '12.2(31)SB3x' ) flag++;
if ( version == '12.2(31)SB4' ) flag++;
if ( version == '12.2(31)SB4a' ) flag++;
if ( version == '12.2(31)SB5' ) flag++;
if ( version == '12.2(31)SB5a' ) flag++;
if ( version == '12.2(31)SB6' ) flag++;
if ( version == '12.2(31)SB7' ) flag++;
if ( version == '12.2(31)SB8' ) flag++;
if ( version == '12.2(31)SB8a' ) flag++;
if ( version == '12.2(31)SB9' ) flag++;
if ( version == '12.2(31)SB9b' ) flag++;
if ( version == '12.2(31)SG' ) flag++;
if ( version == '12.2(31)SG1' ) flag++;
if ( version == '12.2(31)SG2' ) flag++;
if ( version == '12.2(31)SG3' ) flag++;
if ( version == '12.2(31)SGA' ) flag++;
if ( version == '12.2(31)SGA1' ) flag++;
if ( version == '12.2(31)SGA10' ) flag++;
if ( version == '12.2(31)SGA11' ) flag++;
if ( version == '12.2(31)SGA2' ) flag++;
if ( version == '12.2(31)SGA3' ) flag++;
if ( version == '12.2(31)SGA4' ) flag++;
if ( version == '12.2(31)SGA5' ) flag++;
if ( version == '12.2(31)SGA6' ) flag++;
if ( version == '12.2(31)SGA7' ) flag++;
if ( version == '12.2(31)SGA8' ) flag++;
if ( version == '12.2(31)SGA9' ) flag++;
if ( version == '12.2(31)XN' ) flag++;
if ( version == '12.2(31)XN1' ) flag++;
if ( version == '12.2(31)XN2' ) flag++;
if ( version == '12.2(31)XN3' ) flag++;
if ( version == '12.2(31)ZV0c' ) flag++;
if ( version == '12.2(31a)XN2' ) flag++;
if ( version == '12.2(31a)XN3' ) flag++;
if ( version == '12.2(31b)XN2' ) flag++;
if ( version == '12.2(31b)XN3' ) flag++;
if ( version == '12.2(31c)XN2' ) flag++;
if ( version == '12.2(31c)XN3' ) flag++;
if ( version == '12.2(33)IRA' ) flag++;
if ( version == '12.2(33)IRB' ) flag++;
if ( version == '12.2(33)IRC' ) flag++;
if ( version == '12.2(33)IRD' ) flag++;
if ( version == '12.2(33)IRE' ) flag++;
if ( version == '12.2(33)IRE1' ) flag++;
if ( version == '12.2(33)IRE2' ) flag++;
if ( version == '12.2(33)IRF' ) flag++;
if ( version == '12.2(33)IRG' ) flag++;
if ( version == '12.2(33)IRG1' ) flag++;
if ( version == '12.2(33)IRH' ) flag++;
if ( version == '12.2(33)IRH1' ) flag++;
if ( version == '12.2(33)IRI' ) flag++;
if ( version == '12.2(33)MRA' ) flag++;
if ( version == '12.2(33)MRB' ) flag++;
if ( version == '12.2(33)MRB1' ) flag++;
if ( version == '12.2(33)MRB2' ) flag++;
if ( version == '12.2(33)MRB3' ) flag++;
if ( version == '12.2(33)MRB4' ) flag++;
if ( version == '12.2(33)MRB5' ) flag++;
if ( version == '12.2(33)MRB6' ) flag++;
if ( version == '12.2(33)SB' ) flag++;
if ( version == '12.2(33)SB1' ) flag++;
if ( version == '12.2(33)SB10' ) flag++;
if ( version == '12.2(33)SB11' ) flag++;
if ( version == '12.2(33)SB2' ) flag++;
if ( version == '12.2(33)SB3' ) flag++;
if ( version == '12.2(33)SB4' ) flag++;
if ( version == '12.2(33)SB5' ) flag++;
if ( version == '12.2(33)SB6' ) flag++;
if ( version == '12.2(33)SB7' ) flag++;
if ( version == '12.2(33)SB8' ) flag++;
if ( version == '12.2(33)SB8c' ) flag++;
if ( version == '12.2(33)SB8e' ) flag++;
if ( version == '12.2(33)SB9' ) flag++;
if ( version == '12.2(33)SCA' ) flag++;
if ( version == '12.2(33)SCA1' ) flag++;
if ( version == '12.2(33)SCA2' ) flag++;
if ( version == '12.2(33)SCB' ) flag++;
if ( version == '12.2(33)SCB1' ) flag++;
if ( version == '12.2(33)SCB10' ) flag++;
if ( version == '12.2(33)SCB11' ) flag++;
if ( version == '12.2(33)SCB2' ) flag++;
if ( version == '12.2(33)SCB3' ) flag++;
if ( version == '12.2(33)SCB4' ) flag++;
if ( version == '12.2(33)SCB5' ) flag++;
if ( version == '12.2(33)SCB6' ) flag++;
if ( version == '12.2(33)SCB7' ) flag++;
if ( version == '12.2(33)SCB8' ) flag++;
if ( version == '12.2(33)SCB9' ) flag++;
if ( version == '12.2(33)SCC' ) flag++;
if ( version == '12.2(33)SCC1' ) flag++;
if ( version == '12.2(33)SCC2' ) flag++;
if ( version == '12.2(33)SCC3' ) flag++;
if ( version == '12.2(33)SCC4' ) flag++;
if ( version == '12.2(33)SCC5' ) flag++;
if ( version == '12.2(33)SCC6' ) flag++;
if ( version == '12.2(33)SCC7' ) flag++;
if ( version == '12.2(33)SCD' ) flag++;
if ( version == '12.2(33)SCD1' ) flag++;
if ( version == '12.2(33)SCD2' ) flag++;
if ( version == '12.2(33)SCD3' ) flag++;
if ( version == '12.2(33)SCD4' ) flag++;
if ( version == '12.2(33)SCD5' ) flag++;
if ( version == '12.2(33)SCD6' ) flag++;
if ( version == '12.2(33)SCD7' ) flag++;
if ( version == '12.2(33)SCD8' ) flag++;
if ( version == '12.2(33)SCE' ) flag++;
if ( version == '12.2(33)SCE1' ) flag++;
if ( version == '12.2(33)SCE2' ) flag++;
if ( version == '12.2(33)SCE3' ) flag++;
if ( version == '12.2(33)SCE4' ) flag++;
if ( version == '12.2(33)SCE5' ) flag++;
if ( version == '12.2(33)SCE6' ) flag++;
if ( version == '12.2(33)SCF' ) flag++;
if ( version == '12.2(33)SCF1' ) flag++;
if ( version == '12.2(33)SCF2' ) flag++;
if ( version == '12.2(33)SCF3' ) flag++;
if ( version == '12.2(33)SRA' ) flag++;
if ( version == '12.2(33)SRA1' ) flag++;
if ( version == '12.2(33)SRA2' ) flag++;
if ( version == '12.2(33)SRA3' ) flag++;
if ( version == '12.2(33)SRA4' ) flag++;
if ( version == '12.2(33)SRA5' ) flag++;
if ( version == '12.2(33)SRA6' ) flag++;
if ( version == '12.2(33)SRA7' ) flag++;
if ( version == '12.2(33)SRB' ) flag++;
if ( version == '12.2(33)SRB1' ) flag++;
if ( version == '12.2(33)SRB2' ) flag++;
if ( version == '12.2(33)SRB3' ) flag++;
if ( version == '12.2(33)SRB4' ) flag++;
if ( version == '12.2(33)SRB5' ) flag++;
if ( version == '12.2(33)SRB5a' ) flag++;
if ( version == '12.2(33)SRB6' ) flag++;
if ( version == '12.2(33)SRB7' ) flag++;
if ( version == '12.2(33)SRC' ) flag++;
if ( version == '12.2(33)SRC1' ) flag++;
if ( version == '12.2(33)SRC2' ) flag++;
if ( version == '12.2(33)SRC3' ) flag++;
if ( version == '12.2(33)SRC4' ) flag++;
if ( version == '12.2(33)SRC5' ) flag++;
if ( version == '12.2(33)SRC6' ) flag++;
if ( version == '12.2(33)SRD' ) flag++;
if ( version == '12.2(33)SRD1' ) flag++;
if ( version == '12.2(33)SRD2' ) flag++;
if ( version == '12.2(33)SRD2a' ) flag++;
if ( version == '12.2(33)SRD3' ) flag++;
if ( version == '12.2(33)SRD4' ) flag++;
if ( version == '12.2(33)SRD4a' ) flag++;
if ( version == '12.2(33)SRD5' ) flag++;
if ( version == '12.2(33)SRD6' ) flag++;
if ( version == '12.2(33)SRD7' ) flag++;
if ( version == '12.2(33)SRD8' ) flag++;
if ( version == '12.2(33)SRE' ) flag++;
if ( version == '12.2(33)SRE0a' ) flag++;
if ( version == '12.2(33)SRE1' ) flag++;
if ( version == '12.2(33)SRE2' ) flag++;
if ( version == '12.2(33)SRE3' ) flag++;
if ( version == '12.2(33)SRE4' ) flag++;
if ( version == '12.2(33)SRE5' ) flag++;
if ( version == '12.2(33)SXH' ) flag++;
if ( version == '12.2(33)SXH0a' ) flag++;
if ( version == '12.2(33)SXH1' ) flag++;
if ( version == '12.2(33)SXH2' ) flag++;
if ( version == '12.2(33)SXH2a' ) flag++;
if ( version == '12.2(33)SXH3' ) flag++;
if ( version == '12.2(33)SXH3a' ) flag++;
if ( version == '12.2(33)SXH4' ) flag++;
if ( version == '12.2(33)SXH5' ) flag++;
if ( version == '12.2(33)SXH6' ) flag++;
if ( version == '12.2(33)SXH7' ) flag++;
if ( version == '12.2(33)SXH7v' ) flag++;
if ( version == '12.2(33)SXH7w' ) flag++;
if ( version == '12.2(33)SXH8' ) flag++;
if ( version == '12.2(33)SXH8a' ) flag++;
if ( version == '12.2(33)SXH8b' ) flag++;
if ( version == '12.2(33)SXI' ) flag++;
if ( version == '12.2(33)SXI1' ) flag++;
if ( version == '12.2(33)SXI10' ) flag++;
if ( version == '12.2(33)SXI2' ) flag++;
if ( version == '12.2(33)SXI2a' ) flag++;
if ( version == '12.2(33)SXI3' ) flag++;
if ( version == '12.2(33)SXI3a' ) flag++;
if ( version == '12.2(33)SXI3z' ) flag++;
if ( version == '12.2(33)SXI4' ) flag++;
if ( version == '12.2(33)SXI4a' ) flag++;
if ( version == '12.2(33)SXI5' ) flag++;
if ( version == '12.2(33)SXI5a' ) flag++;
if ( version == '12.2(33)SXI6' ) flag++;
if ( version == '12.2(33)SXI7' ) flag++;
if ( version == '12.2(33)SXI8' ) flag++;
if ( version == '12.2(33)SXI8a' ) flag++;
if ( version == '12.2(33)SXI9' ) flag++;
if ( version == '12.2(33)SXI9a' ) flag++;
if ( version == '12.2(33)SXJ' ) flag++;
if ( version == '12.2(33)SXJ1' ) flag++;
if ( version == '12.2(33)SXJ2' ) flag++;
if ( version == '12.2(33)SXJ3' ) flag++;
if ( version == '12.2(33)SXJ4' ) flag++;
if ( version == '12.2(33)XN' ) flag++;
if ( version == '12.2(33)XN1' ) flag++;
if ( version == '12.2(33)XNB' ) flag++;
if ( version == '12.2(33)XNB1' ) flag++;
if ( version == '12.2(33)XNB2' ) flag++;
if ( version == '12.2(33)XNB3' ) flag++;
if ( version == '12.2(33)XNC' ) flag++;
if ( version == '12.2(33)XNC0b' ) flag++;
if ( version == '12.2(33)XNC0c' ) flag++;
if ( version == '12.2(33)XNC1' ) flag++;
if ( version == '12.2(33)XNC2' ) flag++;
if ( version == '12.2(33)XND' ) flag++;
if ( version == '12.2(33)XND1' ) flag++;
if ( version == '12.2(33)XND2' ) flag++;
if ( version == '12.2(33)XND2t' ) flag++;
if ( version == '12.2(33)XND3' ) flag++;
if ( version == '12.2(33)XND4' ) flag++;
if ( version == '12.2(33)XNE' ) flag++;
if ( version == '12.2(33)XNE1' ) flag++;
if ( version == '12.2(33)XNE1xb' ) flag++;
if ( version == '12.2(33)XNE2' ) flag++;
if ( version == '12.2(33)XNF' ) flag++;
if ( version == '12.2(33)XNF1' ) flag++;
if ( version == '12.2(33)XNF2' ) flag++;
if ( version == '12.2(33)ZI' ) flag++;
if ( version == '12.2(33)ZW' ) flag++;
if ( version == '12.2(33)ZZ' ) flag++;
if ( version == '12.2(37)EY' ) flag++;
if ( version == '12.2(37)SG' ) flag++;
if ( version == '12.2(37)SG1' ) flag++;
if ( version == '12.2(40)EX' ) flag++;
if ( version == '12.2(40)EX1' ) flag++;
if ( version == '12.2(40)EX2' ) flag++;
if ( version == '12.2(40)EX3' ) flag++;
if ( version == '12.2(40)SG' ) flag++;
if ( version == '12.2(40)XO' ) flag++;
if ( version == '12.2(44)EX' ) flag++;
if ( version == '12.2(44)EX1' ) flag++;
if ( version == '12.2(44)SG' ) flag++;
if ( version == '12.2(44)SG1' ) flag++;
if ( version == '12.2(44)SQ' ) flag++;
if ( version == '12.2(44)SQ1' ) flag++;
if ( version == '12.2(44)SQ2' ) flag++;
if ( version == '12.2(46)EX' ) flag++;
if ( version == '12.2(46)EY' ) flag++;
if ( version == '12.2(46)SG' ) flag++;
if ( version == '12.2(46)SG1' ) flag++;
if ( version == '12.2(50)SG' ) flag++;
if ( version == '12.2(50)SG1' ) flag++;
if ( version == '12.2(50)SG2' ) flag++;
if ( version == '12.2(50)SG3' ) flag++;
if ( version == '12.2(50)SG4' ) flag++;
if ( version == '12.2(50)SG5' ) flag++;
if ( version == '12.2(50)SG6' ) flag++;
if ( version == '12.2(50)SG7' ) flag++;
if ( version == '12.2(50)SG8' ) flag++;
if ( version == '12.2(50)SQ' ) flag++;
if ( version == '12.2(50)SQ1' ) flag++;
if ( version == '12.2(50)SQ2' ) flag++;
if ( version == '12.2(50)SQ3' ) flag++;
if ( version == '12.2(50)SQ4' ) flag++;
if ( version == '12.2(50)SY' ) flag++;
if ( version == '12.2(50)SY1' ) flag++;
if ( version == '12.2(50)SY2' ) flag++;
if ( version == '12.2(50)SY3' ) flag++;
if ( version == '12.2(52)EX' ) flag++;
if ( version == '12.2(52)EX1' ) flag++;
if ( version == '12.2(52)EY' ) flag++;
if ( version == '12.2(52)EY1' ) flag++;
if ( version == '12.2(52)EY1A' ) flag++;
if ( version == '12.2(52)EY1b' ) flag++;
if ( version == '12.2(52)EY1c' ) flag++;
if ( version == '12.2(52)EY2' ) flag++;
if ( version == '12.2(52)EY2a' ) flag++;
if ( version == '12.2(52)EY3' ) flag++;
if ( version == '12.2(52)EY3a' ) flag++;
if ( version == '12.2(52)EY4' ) flag++;
if ( version == '12.2(52)SG' ) flag++;
if ( version == '12.2(52)XO' ) flag++;
if ( version == '12.2(53)EY' ) flag++;
if ( version == '12.2(53)EZ' ) flag++;
if ( version == '12.2(53)SG' ) flag++;
if ( version == '12.2(53)SG1' ) flag++;
if ( version == '12.2(53)SG2' ) flag++;
if ( version == '12.2(53)SG3' ) flag++;
if ( version == '12.2(53)SG4' ) flag++;
if ( version == '12.2(53)SG5' ) flag++;
if ( version == '12.2(53)SG6' ) flag++;
if ( version == '12.2(53)SG7' ) flag++;
if ( version == '12.2(55)EX' ) flag++;
if ( version == '12.2(55)EX1' ) flag++;
if ( version == '12.2(55)EX2' ) flag++;
if ( version == '12.2(55)EX3' ) flag++;
if ( version == '12.2(55)EY' ) flag++;
if ( version == '12.2(55)EZ' ) flag++;
if ( version == '12.2(58)EX' ) flag++;
if ( version == '12.2(58)EZ' ) flag++;
if ( version == '12.3(11)T' ) flag++;
if ( version == '12.3(11)T1' ) flag++;
if ( version == '12.3(11)T10' ) flag++;
if ( version == '12.3(11)T11' ) flag++;
if ( version == '12.3(11)T12' ) flag++;
if ( version == '12.3(11)T2' ) flag++;
if ( version == '12.3(11)T2a' ) flag++;
if ( version == '12.3(11)T3' ) flag++;
if ( version == '12.3(11)T4' ) flag++;
if ( version == '12.3(11)T5' ) flag++;
if ( version == '12.3(11)T6' ) flag++;
if ( version == '12.3(11)T7' ) flag++;
if ( version == '12.3(11)T8' ) flag++;
if ( version == '12.3(11)T9' ) flag++;
if ( version == '12.3(11)TO3' ) flag++;
if ( version == '12.3(11)XL' ) flag++;
if ( version == '12.3(11)XL1' ) flag++;
if ( version == '12.3(11)XL2' ) flag++;
if ( version == '12.3(11)XL3' ) flag++;
if ( version == '12.3(11)YF' ) flag++;
if ( version == '12.3(11)YF1' ) flag++;
if ( version == '12.3(11)YF2' ) flag++;
if ( version == '12.3(11)YF3' ) flag++;
if ( version == '12.3(11)YF4' ) flag++;
if ( version == '12.3(11)YJ' ) flag++;
if ( version == '12.3(11)YK' ) flag++;
if ( version == '12.3(11)YK1' ) flag++;
if ( version == '12.3(11)YK2' ) flag++;
if ( version == '12.3(11)YK3' ) flag++;
if ( version == '12.3(11)YL' ) flag++;
if ( version == '12.3(11)YL1' ) flag++;
if ( version == '12.3(11)YL2' ) flag++;
if ( version == '12.3(11)YN' ) flag++;
if ( version == '12.3(11)YR' ) flag++;
if ( version == '12.3(11)YR1' ) flag++;
if ( version == '12.3(11)YS' ) flag++;
if ( version == '12.3(11)YS1' ) flag++;
if ( version == '12.3(11)YS2' ) flag++;
if ( version == '12.3(11)YZ' ) flag++;
if ( version == '12.3(11)YZ1' ) flag++;
if ( version == '12.3(11)YZ2' ) flag++;
if ( version == '12.3(11)ZB' ) flag++;
if ( version == '12.3(11)ZB1' ) flag++;
if ( version == '12.3(11)ZB2' ) flag++;
if ( version == '12.3(14)T' ) flag++;
if ( version == '12.3(14)T1' ) flag++;
if ( version == '12.3(14)T2' ) flag++;
if ( version == '12.3(14)T3' ) flag++;
if ( version == '12.3(14)T4' ) flag++;
if ( version == '12.3(14)T5' ) flag++;
if ( version == '12.3(14)T6' ) flag++;
if ( version == '12.3(14)T7' ) flag++;
if ( version == '12.3(14)YM1' ) flag++;
if ( version == '12.3(14)YM10' ) flag++;
if ( version == '12.3(14)YM11' ) flag++;
if ( version == '12.3(14)YM12' ) flag++;
if ( version == '12.3(14)YM13' ) flag++;
if ( version == '12.3(14)YM2' ) flag++;
if ( version == '12.3(14)YM3' ) flag++;
if ( version == '12.3(14)YM4' ) flag++;
if ( version == '12.3(14)YM5' ) flag++;
if ( version == '12.3(14)YM6' ) flag++;
if ( version == '12.3(14)YM7' ) flag++;
if ( version == '12.3(14)YM8' ) flag++;
if ( version == '12.3(14)YM9' ) flag++;
if ( version == '12.3(14)YQ' ) flag++;
if ( version == '12.3(14)YQ1' ) flag++;
if ( version == '12.3(14)YQ2' ) flag++;
if ( version == '12.3(14)YQ3' ) flag++;
if ( version == '12.3(14)YQ4' ) flag++;
if ( version == '12.3(14)YQ5' ) flag++;
if ( version == '12.3(14)YQ6' ) flag++;
if ( version == '12.3(14)YQ7' ) flag++;
if ( version == '12.3(14)YQ8' ) flag++;
if ( version == '12.3(14)YT' ) flag++;
if ( version == '12.3(14)YT1' ) flag++;
if ( version == '12.3(14)YU' ) flag++;
if ( version == '12.3(14)YU1' ) flag++;
if ( version == '12.3(14)YX' ) flag++;
if ( version == '12.3(14)YX1' ) flag++;
if ( version == '12.3(14)YX10' ) flag++;
if ( version == '12.3(14)YX11' ) flag++;
if ( version == '12.3(14)YX12' ) flag++;
if ( version == '12.3(14)YX13' ) flag++;
if ( version == '12.3(14)YX14' ) flag++;
if ( version == '12.3(14)YX15' ) flag++;
if ( version == '12.3(14)YX16' ) flag++;
if ( version == '12.3(14)YX17' ) flag++;
if ( version == '12.3(14)YX2' ) flag++;
if ( version == '12.3(14)YX3' ) flag++;
if ( version == '12.3(14)YX4' ) flag++;
if ( version == '12.3(14)YX7' ) flag++;
if ( version == '12.3(14)YX8' ) flag++;
if ( version == '12.3(14)YX9' ) flag++;
if ( version == '12.3(2)XE' ) flag++;
if ( version == '12.3(2)XE1' ) flag++;
if ( version == '12.3(2)XE2' ) flag++;
if ( version == '12.3(2)XE3' ) flag++;
if ( version == '12.3(2)XE4' ) flag++;
if ( version == '12.3(2)XE5' ) flag++;
if ( version == '12.3(2)XF' ) flag++;
if ( version == '12.3(4)T' ) flag++;
if ( version == '12.3(4)T1' ) flag++;
if ( version == '12.3(4)T10' ) flag++;
if ( version == '12.3(4)T11' ) flag++;
if ( version == '12.3(4)T12' ) flag++;
if ( version == '12.3(4)T2' ) flag++;
if ( version == '12.3(4)T2a' ) flag++;
if ( version == '12.3(4)T3' ) flag++;
if ( version == '12.3(4)T4' ) flag++;
if ( version == '12.3(4)T5' ) flag++;
if ( version == '12.3(4)T6' ) flag++;
if ( version == '12.3(4)T7' ) flag++;
if ( version == '12.3(4)T8' ) flag++;
if ( version == '12.3(4)T9' ) flag++;
if ( version == '12.3(4)TPC11a' ) flag++;
if ( version == '12.3(4)TPC11b' ) flag++;
if ( version == '12.3(4)XD' ) flag++;
if ( version == '12.3(4)XD1' ) flag++;
if ( version == '12.3(4)XD2' ) flag++;
if ( version == '12.3(4)XD3' ) flag++;
if ( version == '12.3(4)XD4' ) flag++;
if ( version == '12.3(4)XG' ) flag++;
if ( version == '12.3(4)XG1' ) flag++;
if ( version == '12.3(4)XG2' ) flag++;
if ( version == '12.3(4)XG3' ) flag++;
if ( version == '12.3(4)XG4' ) flag++;
if ( version == '12.3(4)XG5' ) flag++;
if ( version == '12.3(4)XH' ) flag++;
if ( version == '12.3(4)XH1' ) flag++;
if ( version == '12.3(4)XK' ) flag++;
if ( version == '12.3(4)XK1' ) flag++;
if ( version == '12.3(4)XK2' ) flag++;
if ( version == '12.3(4)XK3' ) flag++;
if ( version == '12.3(4)XK4' ) flag++;
if ( version == '12.3(4)XQ' ) flag++;
if ( version == '12.3(4)XQ1' ) flag++;
if ( version == '12.3(4)YE' ) flag++;
if ( version == '12.3(4)YE1' ) flag++;
if ( version == '12.3(7)T' ) flag++;
if ( version == '12.3(7)T1' ) flag++;
if ( version == '12.3(7)T10' ) flag++;
if ( version == '12.3(7)T11' ) flag++;
if ( version == '12.3(7)T12' ) flag++;
if ( version == '12.3(7)T2' ) flag++;
if ( version == '12.3(7)T3' ) flag++;
if ( version == '12.3(7)T4' ) flag++;
if ( version == '12.3(7)T5' ) flag++;
if ( version == '12.3(7)T6' ) flag++;
if ( version == '12.3(7)T7' ) flag++;
if ( version == '12.3(7)T8' ) flag++;
if ( version == '12.3(7)T9' ) flag++;
if ( version == '12.3(7)XI' ) flag++;
if ( version == '12.3(7)XI10a' ) flag++;
if ( version == '12.3(7)XI2' ) flag++;
if ( version == '12.3(7)XI2b' ) flag++;
if ( version == '12.3(7)XI3' ) flag++;
if ( version == '12.3(7)XI4' ) flag++;
if ( version == '12.3(7)XI5' ) flag++;
if ( version == '12.3(7)XI6' ) flag++;
if ( version == '12.3(7)XI7' ) flag++;
if ( version == '12.3(7)XI7a' ) flag++;
if ( version == '12.3(7)XI7b' ) flag++;
if ( version == '12.3(7)XI8' ) flag++;
if ( version == '12.3(7)XI8bc' ) flag++;
if ( version == '12.3(7)XI8g' ) flag++;
if ( version == '12.3(7)XJ' ) flag++;
if ( version == '12.3(7)XJ1' ) flag++;
if ( version == '12.3(7)XJ2' ) flag++;
if ( version == '12.3(7)XL' ) flag++;
if ( version == '12.3(7)XM' ) flag++;
if ( version == '12.3(7)XR' ) flag++;
if ( version == '12.3(7)XR1' ) flag++;
if ( version == '12.3(7)XR2' ) flag++;
if ( version == '12.3(7)XR3' ) flag++;
if ( version == '12.3(7)XR4' ) flag++;
if ( version == '12.3(7)XR5' ) flag++;
if ( version == '12.3(7)XR6' ) flag++;
if ( version == '12.3(7)XR7' ) flag++;
if ( version == '12.3(7)XS' ) flag++;
if ( version == '12.3(7)XS1' ) flag++;
if ( version == '12.3(7)XS2' ) flag++;
if ( version == '12.3(7)YB' ) flag++;
if ( version == '12.3(7)YB1' ) flag++;
if ( version == '12.3(8)T' ) flag++;
if ( version == '12.3(8)T0a' ) flag++;
if ( version == '12.3(8)T1' ) flag++;
if ( version == '12.3(8)T10' ) flag++;
if ( version == '12.3(8)T11' ) flag++;
if ( version == '12.3(8)T2' ) flag++;
if ( version == '12.3(8)T3' ) flag++;
if ( version == '12.3(8)T4' ) flag++;
if ( version == '12.3(8)T5' ) flag++;
if ( version == '12.3(8)T6' ) flag++;
if ( version == '12.3(8)T7' ) flag++;
if ( version == '12.3(8)T8' ) flag++;
if ( version == '12.3(8)T9' ) flag++;
if ( version == '12.3(8)XU' ) flag++;
if ( version == '12.3(8)XU1' ) flag++;
if ( version == '12.3(8)XU2' ) flag++;
if ( version == '12.3(8)XU3' ) flag++;
if ( version == '12.3(8)XU4' ) flag++;
if ( version == '12.3(8)XU5' ) flag++;
if ( version == '12.3(8)XW' ) flag++;
if ( version == '12.3(8)XW1' ) flag++;
if ( version == '12.3(8)XW1a' ) flag++;
if ( version == '12.3(8)XW1b' ) flag++;
if ( version == '12.3(8)XW2' ) flag++;
if ( version == '12.3(8)XW3' ) flag++;
if ( version == '12.3(8)XX' ) flag++;
if ( version == '12.3(8)XX1' ) flag++;
if ( version == '12.3(8)XX2' ) flag++;
if ( version == '12.3(8)XX2a' ) flag++;
if ( version == '12.3(8)XX2b' ) flag++;
if ( version == '12.3(8)XX2c' ) flag++;
if ( version == '12.3(8)XX2d' ) flag++;
if ( version == '12.3(8)XX2e' ) flag++;
if ( version == '12.3(8)YA' ) flag++;
if ( version == '12.3(8)YA1' ) flag++;
if ( version == '12.3(8)YC' ) flag++;
if ( version == '12.3(8)YC1' ) flag++;
if ( version == '12.3(8)YC2' ) flag++;
if ( version == '12.3(8)YC3' ) flag++;
if ( version == '12.3(8)YD' ) flag++;
if ( version == '12.3(8)YD1' ) flag++;
if ( version == '12.3(8)YG' ) flag++;
if ( version == '12.3(8)YG1' ) flag++;
if ( version == '12.3(8)YG2' ) flag++;
if ( version == '12.3(8)YG3' ) flag++;
if ( version == '12.3(8)YG4' ) flag++;
if ( version == '12.3(8)YG5' ) flag++;
if ( version == '12.3(8)YG6' ) flag++;
if ( version == '12.3(8)YG7' ) flag++;
if ( version == '12.3(8)YH' ) flag++;
if ( version == '12.3(8)YI' ) flag++;
if ( version == '12.3(8)YI1' ) flag++;
if ( version == '12.3(8)YI2' ) flag++;
if ( version == '12.3(8)YI3' ) flag++;
if ( version == '12.3(8)ZA' ) flag++;
if ( version == '12.3(8)ZA1' ) flag++;
if ( version == '12.4(1)' ) flag++;
if ( version == '12.4(10)' ) flag++;
if ( version == '12.4(10a)' ) flag++;
if ( version == '12.4(10b)' ) flag++;
if ( version == '12.4(10c)' ) flag++;
if ( version == '12.4(11)MD' ) flag++;
if ( version == '12.4(11)MD1' ) flag++;
if ( version == '12.4(11)MD10' ) flag++;
if ( version == '12.4(11)MD2' ) flag++;
if ( version == '12.4(11)MD3' ) flag++;
if ( version == '12.4(11)MD4' ) flag++;
if ( version == '12.4(11)MD5' ) flag++;
if ( version == '12.4(11)MD6' ) flag++;
if ( version == '12.4(11)MD7' ) flag++;
if ( version == '12.4(11)MD8' ) flag++;
if ( version == '12.4(11)MD9' ) flag++;
if ( version == '12.4(11)MR' ) flag++;
if ( version == '12.4(11)SW' ) flag++;
if ( version == '12.4(11)SW1' ) flag++;
if ( version == '12.4(11)SW2' ) flag++;
if ( version == '12.4(11)SW3' ) flag++;
if ( version == '12.4(11)T' ) flag++;
if ( version == '12.4(11)T1' ) flag++;
if ( version == '12.4(11)T2' ) flag++;
if ( version == '12.4(11)T3' ) flag++;
if ( version == '12.4(11)T4' ) flag++;
if ( version == '12.4(11)XJ' ) flag++;
if ( version == '12.4(11)XJ1' ) flag++;
if ( version == '12.4(11)XJ2' ) flag++;
if ( version == '12.4(11)XJ3' ) flag++;
if ( version == '12.4(11)XJ4' ) flag++;
if ( version == '12.4(11)XJ5' ) flag++;
if ( version == '12.4(11)XJ6' ) flag++;
if ( version == '12.4(11)XV' ) flag++;
if ( version == '12.4(11)XV1' ) flag++;
if ( version == '12.4(11)XW' ) flag++;
if ( version == '12.4(11)XW1' ) flag++;
if ( version == '12.4(11)XW10' ) flag++;
if ( version == '12.4(11)XW2' ) flag++;
if ( version == '12.4(11)XW3' ) flag++;
if ( version == '12.4(11)XW4' ) flag++;
if ( version == '12.4(11)XW5' ) flag++;
if ( version == '12.4(11)XW6' ) flag++;
if ( version == '12.4(11)XW7' ) flag++;
if ( version == '12.4(11)XW8' ) flag++;
if ( version == '12.4(11)XW9' ) flag++;
if ( version == '12.4(12)' ) flag++;
if ( version == '12.4(12)MR' ) flag++;
if ( version == '12.4(12)MR1' ) flag++;
if ( version == '12.4(12)MR2' ) flag++;
if ( version == '12.4(12a)' ) flag++;
if ( version == '12.4(12b)' ) flag++;
if ( version == '12.4(12c)' ) flag++;
if ( version == '12.4(13)' ) flag++;
if ( version == '12.4(13a)' ) flag++;
if ( version == '12.4(13b)' ) flag++;
if ( version == '12.4(13c)' ) flag++;
if ( version == '12.4(13d)' ) flag++;
if ( version == '12.4(13e)' ) flag++;
if ( version == '12.4(13f)' ) flag++;
if ( version == '12.4(14)XK' ) flag++;
if ( version == '12.4(15)MD' ) flag++;
if ( version == '12.4(15)MD1' ) flag++;
if ( version == '12.4(15)MD2' ) flag++;
if ( version == '12.4(15)MD3' ) flag++;
if ( version == '12.4(15)MD4' ) flag++;
if ( version == '12.4(15)MD5' ) flag++;
if ( version == '12.4(15)SW' ) flag++;
if ( version == '12.4(15)SW1' ) flag++;
if ( version == '12.4(15)SW2' ) flag++;
if ( version == '12.4(15)SW3' ) flag++;
if ( version == '12.4(15)SW4' ) flag++;
if ( version == '12.4(15)SW5' ) flag++;
if ( version == '12.4(15)SW6' ) flag++;
if ( version == '12.4(15)SW7' ) flag++;
if ( version == '12.4(15)SW8' ) flag++;
if ( version == '12.4(15)T' ) flag++;
if ( version == '12.4(15)T1' ) flag++;
if ( version == '12.4(15)T10' ) flag++;
if ( version == '12.4(15)T11' ) flag++;
if ( version == '12.4(15)T12' ) flag++;
if ( version == '12.4(15)T13' ) flag++;
if ( version == '12.4(15)T13b' ) flag++;
if ( version == '12.4(15)T14' ) flag++;
if ( version == '12.4(15)T15' ) flag++;
if ( version == '12.4(15)T16' ) flag++;
if ( version == '12.4(15)T2' ) flag++;
if ( version == '12.4(15)T3' ) flag++;
if ( version == '12.4(15)T4' ) flag++;
if ( version == '12.4(15)T5' ) flag++;
if ( version == '12.4(15)T6' ) flag++;
if ( version == '12.4(15)T6a' ) flag++;
if ( version == '12.4(15)T7' ) flag++;
if ( version == '12.4(15)T8' ) flag++;
if ( version == '12.4(15)T9' ) flag++;
if ( version == '12.4(15)XF' ) flag++;
if ( version == '12.4(15)XL' ) flag++;
if ( version == '12.4(15)XL1' ) flag++;
if ( version == '12.4(15)XL2' ) flag++;
if ( version == '12.4(15)XL3' ) flag++;
if ( version == '12.4(15)XL4' ) flag++;
if ( version == '12.4(15)XL5' ) flag++;
if ( version == '12.4(15)XM' ) flag++;
if ( version == '12.4(15)XM1' ) flag++;
if ( version == '12.4(15)XM2' ) flag++;
if ( version == '12.4(15)XM3' ) flag++;
if ( version == '12.4(15)XN' ) flag++;
if ( version == '12.4(15)XQ' ) flag++;
if ( version == '12.4(15)XQ1' ) flag++;
if ( version == '12.4(15)XQ2' ) flag++;
if ( version == '12.4(15)XQ2a' ) flag++;
if ( version == '12.4(15)XQ2b' ) flag++;
if ( version == '12.4(15)XQ2c' ) flag++;
if ( version == '12.4(15)XQ2d' ) flag++;
if ( version == '12.4(15)XQ3' ) flag++;
if ( version == '12.4(15)XQ4' ) flag++;
if ( version == '12.4(15)XQ5' ) flag++;
if ( version == '12.4(15)XQ6' ) flag++;
if ( version == '12.4(15)XQ7' ) flag++;
if ( version == '12.4(15)XQ8' ) flag++;
if ( version == '12.4(15)XR' ) flag++;
if ( version == '12.4(15)XR1' ) flag++;
if ( version == '12.4(15)XR10' ) flag++;
if ( version == '12.4(15)XR2' ) flag++;
if ( version == '12.4(15)XR3' ) flag++;
if ( version == '12.4(15)XR4' ) flag++;
if ( version == '12.4(15)XR5' ) flag++;
if ( version == '12.4(15)XR6' ) flag++;
if ( version == '12.4(15)XR7' ) flag++;
if ( version == '12.4(15)XR8' ) flag++;
if ( version == '12.4(15)XR9' ) flag++;
if ( version == '12.4(15)XY' ) flag++;
if ( version == '12.4(15)XY1' ) flag++;
if ( version == '12.4(15)XY2' ) flag++;
if ( version == '12.4(15)XY3' ) flag++;
if ( version == '12.4(15)XY4' ) flag++;
if ( version == '12.4(15)XY5' ) flag++;
if ( version == '12.4(15)XZ' ) flag++;
if ( version == '12.4(15)XZ1' ) flag++;
if ( version == '12.4(15)XZ2' ) flag++;
if ( version == '12.4(16)' ) flag++;
if ( version == '12.4(16)MR' ) flag++;
if ( version == '12.4(16)MR1' ) flag++;
if ( version == '12.4(16)MR2' ) flag++;
if ( version == '12.4(16a)' ) flag++;
if ( version == '12.4(16b)' ) flag++;
if ( version == '12.4(17)' ) flag++;
if ( version == '12.4(17a)' ) flag++;
if ( version == '12.4(17b)' ) flag++;
if ( version == '12.4(18)' ) flag++;
if ( version == '12.4(18a)' ) flag++;
if ( version == '12.4(18b)' ) flag++;
if ( version == '12.4(18c)' ) flag++;
if ( version == '12.4(18d)' ) flag++;
if ( version == '12.4(18e)' ) flag++;
if ( version == '12.4(19)' ) flag++;
if ( version == '12.4(19)MR' ) flag++;
if ( version == '12.4(19)MR1' ) flag++;
if ( version == '12.4(19)MR2' ) flag++;
if ( version == '12.4(1a)' ) flag++;
if ( version == '12.4(1b)' ) flag++;
if ( version == '12.4(1c)' ) flag++;
if ( version == '12.4(2)MR' ) flag++;
if ( version == '12.4(2)MR1' ) flag++;
if ( version == '12.4(2)T' ) flag++;
if ( version == '12.4(2)T1' ) flag++;
if ( version == '12.4(2)T2' ) flag++;
if ( version == '12.4(2)T3' ) flag++;
if ( version == '12.4(2)T4' ) flag++;
if ( version == '12.4(2)T5' ) flag++;
if ( version == '12.4(2)T6' ) flag++;
if ( version == '12.4(2)XA' ) flag++;
if ( version == '12.4(2)XA1' ) flag++;
if ( version == '12.4(2)XA2' ) flag++;
if ( version == '12.4(2)XB' ) flag++;
if ( version == '12.4(2)XB1' ) flag++;
if ( version == '12.4(2)XB10' ) flag++;
if ( version == '12.4(2)XB11' ) flag++;
if ( version == '12.4(2)XB12' ) flag++;
if ( version == '12.4(2)XB2' ) flag++;
if ( version == '12.4(2)XB3' ) flag++;
if ( version == '12.4(2)XB4' ) flag++;
if ( version == '12.4(2)XB5' ) flag++;
if ( version == '12.4(2)XB6' ) flag++;
if ( version == '12.4(2)XB7' ) flag++;
if ( version == '12.4(2)XB8' ) flag++;
if ( version == '12.4(2)XB9' ) flag++;
if ( version == '12.4(20)MR' ) flag++;
if ( version == '12.4(20)MR2' ) flag++;
if ( version == '12.4(20)MRA' ) flag++;
if ( version == '12.4(20)MRA1' ) flag++;
if ( version == '12.4(20)MRB' ) flag++;
if ( version == '12.4(20)MRB1' ) flag++;
if ( version == '12.4(20)T' ) flag++;
if ( version == '12.4(20)T1' ) flag++;
if ( version == '12.4(20)T2' ) flag++;
if ( version == '12.4(20)T3' ) flag++;
if ( version == '12.4(20)T4' ) flag++;
if ( version == '12.4(20)T5' ) flag++;
if ( version == '12.4(20)T5a' ) flag++;
if ( version == '12.4(20)T6' ) flag++;
if ( version == '12.4(20)YA' ) flag++;
if ( version == '12.4(20)YA1' ) flag++;
if ( version == '12.4(20)YA2' ) flag++;
if ( version == '12.4(20)YA3' ) flag++;
if ( version == '12.4(21)' ) flag++;
if ( version == '12.4(21a)' ) flag++;
if ( version == '12.4(21a)M1' ) flag++;
if ( version == '12.4(22)GC1' ) flag++;
if ( version == '12.4(22)GC1a' ) flag++;
if ( version == '12.4(22)MD' ) flag++;
if ( version == '12.4(22)MD1' ) flag++;
if ( version == '12.4(22)MD2' ) flag++;
if ( version == '12.4(22)MDA' ) flag++;
if ( version == '12.4(22)MDA1' ) flag++;
if ( version == '12.4(22)MDA2' ) flag++;
if ( version == '12.4(22)MDA3' ) flag++;
if ( version == '12.4(22)MDA4' ) flag++;
if ( version == '12.4(22)MDA5' ) flag++;
if ( version == '12.4(22)MDA6' ) flag++;
if ( version == '12.4(22)T' ) flag++;
if ( version == '12.4(22)T1' ) flag++;
if ( version == '12.4(22)T2' ) flag++;
if ( version == '12.4(22)T3' ) flag++;
if ( version == '12.4(22)T4' ) flag++;
if ( version == '12.4(22)T5' ) flag++;
if ( version == '12.4(22)XR' ) flag++;
if ( version == '12.4(22)XR1' ) flag++;
if ( version == '12.4(22)XR10' ) flag++;
if ( version == '12.4(22)XR11' ) flag++;
if ( version == '12.4(22)XR12' ) flag++;
if ( version == '12.4(22)XR2' ) flag++;
if ( version == '12.4(22)XR3' ) flag++;
if ( version == '12.4(22)XR4' ) flag++;
if ( version == '12.4(22)XR5' ) flag++;
if ( version == '12.4(22)XR6' ) flag++;
if ( version == '12.4(22)XR7' ) flag++;
if ( version == '12.4(22)XR8' ) flag++;
if ( version == '12.4(22)XR9' ) flag++;
if ( version == '12.4(22)YB' ) flag++;
if ( version == '12.4(22)YB1' ) flag++;
if ( version == '12.4(22)YB4' ) flag++;
if ( version == '12.4(22)YB5' ) flag++;
if ( version == '12.4(22)YB6' ) flag++;
if ( version == '12.4(22)YB7' ) flag++;
if ( version == '12.4(22)YB8' ) flag++;
if ( version == '12.4(22)YD' ) flag++;
if ( version == '12.4(22)YD1' ) flag++;
if ( version == '12.4(22)YD2' ) flag++;
if ( version == '12.4(22)YD3' ) flag++;
if ( version == '12.4(22)YD4' ) flag++;
if ( version == '12.4(22)YE' ) flag++;
if ( version == '12.4(22)YE1' ) flag++;
if ( version == '12.4(22)YE2' ) flag++;
if ( version == '12.4(22)YE3' ) flag++;
if ( version == '12.4(22)YE4' ) flag++;
if ( version == '12.4(22)YE5' ) flag++;
if ( version == '12.4(22)YE6' ) flag++;
if ( version == '12.4(23)' ) flag++;
if ( version == '12.4(23a)' ) flag++;
if ( version == '12.4(23b)' ) flag++;
if ( version == '12.4(23b)M1' ) flag++;
if ( version == '12.4(23c)' ) flag++;
if ( version == '12.4(23d)' ) flag++;
if ( version == '12.4(23e)' ) flag++;
if ( version == '12.4(24)GC1' ) flag++;
if ( version == '12.4(24)GC3' ) flag++;
if ( version == '12.4(24)GC3a' ) flag++;
if ( version == '12.4(24)GC4' ) flag++;
if ( version == '12.4(24)MD' ) flag++;
if ( version == '12.4(24)MD1' ) flag++;
if ( version == '12.4(24)MD2' ) flag++;
if ( version == '12.4(24)MD3' ) flag++;
if ( version == '12.4(24)MD4' ) flag++;
if ( version == '12.4(24)MD5' ) flag++;
if ( version == '12.4(24)MD6' ) flag++;
if ( version == '12.4(24)MDA1' ) flag++;
if ( version == '12.4(24)MDA10' ) flag++;
if ( version == '12.4(24)MDA2' ) flag++;
if ( version == '12.4(24)MDA3' ) flag++;
if ( version == '12.4(24)MDA4' ) flag++;
if ( version == '12.4(24)MDA5' ) flag++;
if ( version == '12.4(24)MDA6' ) flag++;
if ( version == '12.4(24)MDA7' ) flag++;
if ( version == '12.4(24)MDA8' ) flag++;
if ( version == '12.4(24)MDA9' ) flag++;
if ( version == '12.4(24)MDB1' ) flag++;
if ( version == '12.4(24)MDB2' ) flag++;
if ( version == '12.4(24)MDB3' ) flag++;
if ( version == '12.4(24)T1' ) flag++;
if ( version == '12.4(24)T2' ) flag++;
if ( version == '12.4(24)T3' ) flag++;
if ( version == '12.4(24)T35c' ) flag++;
if ( version == '12.4(24)T3c' ) flag++;
if ( version == '12.4(24)T3e' ) flag++;
if ( version == '12.4(24)T4' ) flag++;
if ( version == '12.4(24)T4a' ) flag++;
if ( version == '12.4(24)T4b' ) flag++;
if ( version == '12.4(24)T4c' ) flag++;
if ( version == '12.4(24)T5' ) flag++;
if ( version == '12.4(24)T6' ) flag++;
if ( version == '12.4(24)YE' ) flag++;
if ( version == '12.4(24)YE1' ) flag++;
if ( version == '12.4(24)YE2' ) flag++;
if ( version == '12.4(24)YE3' ) flag++;
if ( version == '12.4(24)YE3a' ) flag++;
if ( version == '12.4(24)YE3b' ) flag++;
if ( version == '12.4(24)YE3c' ) flag++;
if ( version == '12.4(24)YE4' ) flag++;
if ( version == '12.4(24)YE5' ) flag++;
if ( version == '12.4(24)YE6' ) flag++;
if ( version == '12.4(24)YG1' ) flag++;
if ( version == '12.4(24)YG2' ) flag++;
if ( version == '12.4(24)YG3' ) flag++;
if ( version == '12.4(25)' ) flag++;
if ( version == '12.4(25a)' ) flag++;
if ( version == '12.4(25b)' ) flag++;
if ( version == '12.4(25c)' ) flag++;
if ( version == '12.4(25d)' ) flag++;
if ( version == '12.4(25e)' ) flag++;
if ( version == '12.4(25e)JAM1' ) flag++;
if ( version == '12.4(25f)' ) flag++;
if ( version == '12.4(3)' ) flag++;
if ( version == '12.4(3a)' ) flag++;
if ( version == '12.4(3b)' ) flag++;
if ( version == '12.4(3c)' ) flag++;
if ( version == '12.4(3d)' ) flag++;
if ( version == '12.4(3e)' ) flag++;
if ( version == '12.4(3f)' ) flag++;
if ( version == '12.4(3g)' ) flag++;
if ( version == '12.4(3h)' ) flag++;
if ( version == '12.4(3i)' ) flag++;
if ( version == '12.4(3j)' ) flag++;
if ( version == '12.4(4)MR' ) flag++;
if ( version == '12.4(4)MR1' ) flag++;
if ( version == '12.4(4)T' ) flag++;
if ( version == '12.4(4)T1' ) flag++;
if ( version == '12.4(4)T2' ) flag++;
if ( version == '12.4(4)T3' ) flag++;
if ( version == '12.4(4)T4' ) flag++;
if ( version == '12.4(4)T5' ) flag++;
if ( version == '12.4(4)T6' ) flag++;
if ( version == '12.4(4)T7' ) flag++;
if ( version == '12.4(4)T8' ) flag++;
if ( version == '12.4(4)XC' ) flag++;
if ( version == '12.4(4)XC1' ) flag++;
if ( version == '12.4(4)XC2' ) flag++;
if ( version == '12.4(4)XC3' ) flag++;
if ( version == '12.4(4)XC4' ) flag++;
if ( version == '12.4(4)XC5' ) flag++;
if ( version == '12.4(4)XC6' ) flag++;
if ( version == '12.4(4)XC7' ) flag++;
if ( version == '12.4(4)XD' ) flag++;
if ( version == '12.4(4)XD1' ) flag++;
if ( version == '12.4(4)XD10' ) flag++;
if ( version == '12.4(4)XD11' ) flag++;
if ( version == '12.4(4)XD12' ) flag++;
if ( version == '12.4(4)XD2' ) flag++;
if ( version == '12.4(4)XD3' ) flag++;
if ( version == '12.4(4)XD4' ) flag++;
if ( version == '12.4(4)XD5' ) flag++;
if ( version == '12.4(4)XD6' ) flag++;
if ( version == '12.4(4)XD7' ) flag++;
if ( version == '12.4(4)XD8' ) flag++;
if ( version == '12.4(4)XD9' ) flag++;
if ( version == '12.4(5)' ) flag++;
if ( version == '12.4(5a)' ) flag++;
if ( version == '12.4(5a)M0' ) flag++;
if ( version == '12.4(5b)' ) flag++;
if ( version == '12.4(5c)' ) flag++;
if ( version == '12.4(6)MR' ) flag++;
if ( version == '12.4(6)MR1' ) flag++;
if ( version == '12.4(6)T' ) flag++;
if ( version == '12.4(6)T1' ) flag++;
if ( version == '12.4(6)T10' ) flag++;
if ( version == '12.4(6)T11' ) flag++;
if ( version == '12.4(6)T12' ) flag++;
if ( version == '12.4(6)T2' ) flag++;
if ( version == '12.4(6)T3' ) flag++;
if ( version == '12.4(6)T4' ) flag++;
if ( version == '12.4(6)T5' ) flag++;
if ( version == '12.4(6)T5a' ) flag++;
if ( version == '12.4(6)T5b' ) flag++;
if ( version == '12.4(6)T5c' ) flag++;
if ( version == '12.4(6)T5d' ) flag++;
if ( version == '12.4(6)T5e' ) flag++;
if ( version == '12.4(6)T5f' ) flag++;
if ( version == '12.4(6)T6' ) flag++;
if ( version == '12.4(6)T7' ) flag++;
if ( version == '12.4(6)T8' ) flag++;
if ( version == '12.4(6)T9' ) flag++;
if ( version == '12.4(6)XE' ) flag++;
if ( version == '12.4(6)XE1' ) flag++;
if ( version == '12.4(6)XE2' ) flag++;
if ( version == '12.4(6)XE3' ) flag++;
if ( version == '12.4(6)XP' ) flag++;
if ( version == '12.4(6)XT' ) flag++;
if ( version == '12.4(6)XT1' ) flag++;
if ( version == '12.4(6)XT2' ) flag++;
if ( version == '12.4(7)' ) flag++;
if ( version == '12.4(7a)' ) flag++;
if ( version == '12.4(7b)' ) flag++;
if ( version == '12.4(7c)' ) flag++;
if ( version == '12.4(7d)' ) flag++;
if ( version == '12.4(7e)' ) flag++;
if ( version == '12.4(7f)' ) flag++;
if ( version == '12.4(7g)' ) flag++;
if ( version == '12.4(7h)' ) flag++;
if ( version == '12.4(8)' ) flag++;
if ( version == '12.4(8a)' ) flag++;
if ( version == '12.4(8b)' ) flag++;
if ( version == '12.4(8c)' ) flag++;
if ( version == '12.4(8d)' ) flag++;
if ( version == '12.4(9)MR' ) flag++;
if ( version == '12.4(9)T' ) flag++;
if ( version == '12.4(9)T0a' ) flag++;
if ( version == '12.4(9)T1' ) flag++;
if ( version == '12.4(9)T2' ) flag++;
if ( version == '12.4(9)T3' ) flag++;
if ( version == '12.4(9)T4' ) flag++;
if ( version == '12.4(9)T5' ) flag++;
if ( version == '12.4(9)T6' ) flag++;
if ( version == '12.4(9)T7' ) flag++;
if ( version == '12.4(9)XG' ) flag++;
if ( version == '12.4(9)XG1' ) flag++;
if ( version == '12.4(9)XG2' ) flag++;
if ( version == '12.4(9)XG3' ) flag++;
if ( version == '12.4(9)XG4' ) flag++;
if ( version == '12.4(9)XG5' ) flag++;
if ( version == '15.0(1)EY' ) flag++;
if ( version == '15.0(1)EY1' ) flag++;
if ( version == '15.0(1)EY2' ) flag++;
if ( version == '15.0(1)M' ) flag++;
if ( version == '15.0(1)M1' ) flag++;
if ( version == '15.0(1)M2' ) flag++;
if ( version == '15.0(1)M3' ) flag++;
if ( version == '15.0(1)MR' ) flag++;
if ( version == '15.0(1)S' ) flag++;
if ( version == '15.0(1)S1' ) flag++;
if ( version == '15.0(1)S2' ) flag++;
if ( version == '15.0(1)S3a' ) flag++;
if ( version == '15.0(1)S4' ) flag++;
if ( version == '15.0(1)S4a' ) flag++;
if ( version == '15.0(1)S5' ) flag++;
if ( version == '15.0(1)S6' ) flag++;
if ( version == '15.0(1)SE' ) flag++;
if ( version == '15.0(1)SE1' ) flag++;
if ( version == '15.0(1)SE2' ) flag++;
if ( version == '15.0(1)SE3' ) flag++;
if ( version == '15.0(1)SY' ) flag++;
if ( version == '15.0(1)SY1' ) flag++;
if ( version == '15.0(1)SY2' ) flag++;
if ( version == '15.0(1)SY3' ) flag++;
if ( version == '15.0(1)XA' ) flag++;
if ( version == '15.0(1)XA1' ) flag++;
if ( version == '15.0(1)XA2' ) flag++;
if ( version == '15.0(1)XA3' ) flag++;
if ( version == '15.0(1)XA4' ) flag++;
if ( version == '15.0(1)XA5' ) flag++;
if ( version == '15.0(1)XO' ) flag++;
if ( version == '15.0(1)XO1' ) flag++;
if ( version == '15.0(2)MR' ) flag++;
if ( version == '15.0(2)SE' ) flag++;
if ( version == '15.1(1)MR' ) flag++;
if ( version == '15.1(1)MR1' ) flag++;
if ( version == '15.1(1)MR2' ) flag++;
if ( version == '15.1(1)MR3' ) flag++;
if ( version == '15.1(1)MR4' ) flag++;
if ( version == '15.1(1)S' ) flag++;
if ( version == '15.1(1)S1' ) flag++;
if ( version == '15.1(1)S2' ) flag++;
if ( version == '15.1(1)SY' ) flag++;
if ( version == '15.1(1)T' ) flag++;
if ( version == '15.1(1)T1' ) flag++;
if ( version == '15.1(1)T2' ) flag++;
if ( version == '15.1(1)T3' ) flag++;
if ( version == '15.1(1)XB' ) flag++;
if ( version == '15.1(1)XB1' ) flag++;
if ( version == '15.1(1)XB2' ) flag++;
if ( version == '15.1(1)XB3' ) flag++;
if ( version == '15.1(2)EY' ) flag++;
if ( version == '15.1(2)EY1' ) flag++;
if ( version == '15.1(2)EY1a' ) flag++;
if ( version == '15.1(2)EY2' ) flag++;
if ( version == '15.1(2)EY2a' ) flag++;
if ( version == '15.1(2)EY3' ) flag++;
if ( version == '15.1(2)GC' ) flag++;
if ( version == '15.1(2)GC1' ) flag++;
if ( version == '15.1(2)S' ) flag++;
if ( version == '15.1(2)S1' ) flag++;
if ( version == '15.1(2)S2' ) flag++;
if ( version == '15.1(2)SNG' ) flag++;
if ( version == '15.1(2)SNH' ) flag++;
if ( version == '15.1(2)SNH1' ) flag++;
if ( version == '15.1(2)SNI' ) flag++;
if ( version == '15.1(2)T' ) flag++;
if ( version == '15.1(2)T0a' ) flag++;
if ( version == '15.1(2)T1' ) flag++;
if ( version == '15.1(2)T2' ) flag++;
if ( version == '15.1(2)T2a' ) flag++;
if ( version == '15.1(2)T3' ) flag++;
if ( version == '15.1(2)T4' ) flag++;
if ( version == '15.1(3)S' ) flag++;
if ( version == '15.1(3)S0a' ) flag++;
if ( version == '15.1(3)S1' ) flag++;
if ( version == '15.1(3)S2' ) flag++;
if ( version == '15.1(3)S3' ) flag++;
if ( version == '15.1(3)S4' ) flag++;
if ( version == '15.1(3)S5' ) flag++;
if ( version == '15.2(1)S' ) flag++;
if ( version == '15.2(1)S1' ) flag++;
if ( version == '15.2(1)S2' ) flag++;
if ( version == '15.2(2)S' ) flag++;
if ( version == '15.2(2)S0a' ) flag++;
if ( version == '15.2(2)S0b' ) flag++;
if ( version == '15.2(2)S0c' ) flag++;
if ( version == '15.2(2)S0d' ) flag++;
if ( version == '15.2(2)S1' ) flag++;

if (get_kb_item("Host/local_checks_enabled"))
{

  if (flag)
  {
    flag = 0;
    buf = cisco_command_kb_item("Host/Cisco/Config/show_running-config", "show running-config");
    if (check_cisco_result(buf))
    {
      if (preg(pattern:"\sip nat ([\w\.]*\s)+vrf ", multiline:TRUE, string:buf)) { flag = 1; }
    } else if (cisco_needs_enable(buf)) { flag = 1; override = 1; }
  }
}


if (flag)
{
  security_hole(port:0, extra:cisco_caveat(override));
  exit(0);
}
else audit(AUDIT_HOST_NOT, "affected");