Vulnerabilities > CVE-2008-1153 - Unspecified vulnerability in Cisco IOS and IOS

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN
cisco
nessus

Summary

Cisco IOS 12.1, 12.2, 12.3, and 12.4, with IPv4 UDP services and the IPv6 protocol enabled, allows remote attackers to cause a denial of service (device crash and possible blocked interface) via a crafted IPv6 packet to the device.

Vulnerable Configurations

Part Description Count
OS
Cisco
4

Nessus

NASL familyCISCO
NASL idCISCO-SA-20080326-IPV4IPV6HTTP.NASL
descriptionA device running Cisco IOS software that has Internet Protocol version 6 (IPv6) enabled may be subject to a denial of service (DoS) attack. For the device to be affected by this vulnerability the device also has to have certain Internet Protocol version 4 (IPv4) User Datagram Protocol (UDP) services enabled. To exploit this vulnerability an offending IPv6 packet must be targeted to the device. Packets that are routed throughout the router can not trigger this vulnerability. Successful exploitation will prevent the interface from receiving any additional traffic. The only exception is Resource Reservation Protocol (RSVP) service, which if exploited, will cause the device to crash. Only the interface on which the vulnerability was exploited will be affected. Cisco is providing fixed software to address this issue. There are workarounds available to mitigate the effects of the vulnerability.
last seen2019-10-28
modified2010-09-01
plugin id49011
published2010-09-01
reporterThis script is (C) 2010-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/49011
titleCisco IOS User Datagram Protocol Delivery Issue For IPv4/IPv6 Dual-stack Routers - Cisco Systems
code
#TRUSTED a07608e0f8a42553907f2345984326e8c82ec9d5b67002e6aaf0ef570c599ab0c6e686fb5d443a5e1bb7b49db3a0b127c170ae7f45e68f92ea003266d3bb912088e7ecc76efef5820da3b7a3e1aacaf2b259ff23c0a3a75ff22fc7fc439f5b6b5638295a1a207bfb777ad14be5e3c95628bc63da7a532f5bcd53189e0f43723fefecacb7400c5eda380137fa078931448cdf7ac8ca1dac1e3114281b105a15574f57ae2f6dce9894cac0098b3f32c0fa3be4d0db6b60f4458fe927fac5689baa0494052132646c99c86a624b332b519098f18b0fb5310dcf299d3ee004299e82d83810fb1fd4489b33af68a49c977c0a43bd07ea08bc66a9b3865e16fb81a9ba8dadfd14a65e64a2d2f21ace733bed17d41b627190db5ca2fc1af540575891975fe59882c043bee8cf352e129a02cdf52d054de45d9d70df9e47cb5f0c610cf897830ed6ea1b66666d171d6aaae5247705a96b8b295b4ca14ab5009a177f5ac5b098b3b24b8157be49ffd2227e049bfe4ad1cc464eb20ed67f34be9be491c6df0638914ad94283a0d9149dd1ed5e75727be58ac5b0dba107b610075ab0892a73df73e30cc5e05144d7747cf3670a92d598d5ceb1a54e7e3d63ac2031da3eaeb61da97ce69fa197b9c3d8522c628434e6db3741dface69ca7db9ce678b7c0333d0e028f03e3c6dd10a84e8e46d29003bc91b48a9a87f6a396b8031314ce679445
#
# (C) Tenable Network Security, Inc.
#
# Security advisory is (C) CISCO, Inc.
# See https://www.cisco.com/en/US/products/products_security_advisory09186a008096986d.shtml

if (NASL_LEVEL < 3000) exit(0);

include("compat.inc");

if (description)
{
 script_id(49011);
 script_version("1.24");
 script_set_attribute(attribute:"plugin_modification_date", value:"2018/11/15");
 script_cve_id("CVE-2008-1153");
 script_bugtraq_id(28461);
 script_xref(name:"CERT", value:"936177");
 script_name(english:"Cisco IOS User Datagram Protocol Delivery Issue For IPv4/IPv6 Dual-stack Routers - Cisco Systems");
 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:
'A device running Cisco IOS software that has Internet Protocol version
6 (IPv6) enabled may be subject to a denial of service (DoS) attack.
For the device to be affected by this vulnerability the device also has
to have certain Internet Protocol version 4 (IPv4) User Datagram
Protocol (UDP) services enabled. To exploit this vulnerability an
offending IPv6 packet must be targeted to the device. Packets that are
routed throughout the router can not trigger this vulnerability.
Successful exploitation will prevent the interface from receiving any
additional traffic. The only exception is Resource Reservation Protocol
(RSVP) service, which if exploited, will cause the device to crash.
Only the interface on which the vulnerability was exploited will be
affected.
Cisco is providing fixed software to address this issue. There are
workarounds available to mitigate the effects of the vulnerability.
');
 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?c2349059");
 # https://www.cisco.com/en/US/products/products_security_advisory09186a008096986d.shtml
 script_set_attribute(attribute:"see_also", value: "http://www.nessus.org/u?2502d726");
 script_set_attribute(attribute:"solution", value:
"Apply the relevant patch referenced in Cisco Security Advisory
cisco-sa-20080326-IPv4IPv6.");
 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_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:"local");
 script_set_attribute(attribute:"cpe", value:"cpe:/o:cisco:ios");

  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2008-1153");
 script_set_attribute(attribute:"vuln_publication_date", value:"2008/03/26");
 script_set_attribute(attribute:"patch_publication_date", value:"2008/03/26");
 script_set_attribute(attribute:"plugin_publication_date", value:"2010/09/01");

 script_end_attributes();
 script_xref(name:"CISCO-BUG-ID", value:"CSCse56501");
 script_xref(name:"CISCO-SA", value:"cisco-sa-20080326-IPv4IPv6");
 script_category(ACT_GATHER_INFO);
 script_copyright(english:"This script is (C) 2010-2018 Tenable Network Security, Inc.");
 script_family(english:"CISCO");
 script_dependencie("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;
version = get_kb_item_or_exit("Host/Cisco/IOS/Version");
override = 0;

if (version == '12.4(11)XV') flag++;
else if (version == '12.4(6)XT') flag++;
else if (version == '12.4(6)XP') flag++;
else if (version == '12.4(11)XJ3') flag++;
else if (version == '12.4(11)XJ2') flag++;
else if (version == '12.4(11)XJ') flag++;
else if (version == '12.4(9)XG1') flag++;
else if (version == '12.4(9)XG') flag++;
else if (version == '12.4(6)XE2') flag++;
else if (version == '12.4(6)XE1') flag++;
else if (version == '12.4(6)XE') flag++;
else if (version == '12.4(4)XD5') flag++;
else if (version == '12.4(4)XD4') flag++;
else if (version == '12.4(4)XD2') flag++;
else if (version == '12.4(4)XD1') flag++;
else if (version == '12.4(4)XD') flag++;
else if (version == '12.4(4)XC6') flag++;
else if (version == '12.4(4)XC5') flag++;
else if (version == '12.4(4)XC4') flag++;
else if (version == '12.4(4)XC3') flag++;
else if (version == '12.4(4)XC2') flag++;
else if (version == '12.4(4)XC1') flag++;
else if (version == '12.4(4)XC') flag++;
else if (version == '12.4(2)XB5') flag++;
else if (version == '12.4(2)XB4') flag++;
else if (version == '12.4(2)XB3') flag++;
else if (version == '12.4(2)XB2') flag++;
else if (version == '12.4(2)XB1') flag++;
else if (version == '12.4(2)XB') flag++;
else if (version == '12.4(2)XA2') flag++;
else if (version == '12.4(2)XA1') flag++;
else if (version == '12.4(2)XA') flag++;
else if (version == '12.4(11)T1') flag++;
else if (version == '12.4(11)T') flag++;
else if (version == '12.4(9)T2') flag++;
else if (version == '12.4(9)T1') flag++;
else if (version == '12.4(9)T') flag++;
else if (version == '12.4(6)T7') flag++;
else if (version == '12.4(6)T6') flag++;
else if (version == '12.4(6)T5') flag++;
else if (version == '12.4(6)T4') flag++;
else if (version == '12.4(6)T3') flag++;
else if (version == '12.4(6)T2') flag++;
else if (version == '12.4(6)T1') flag++;
else if (version == '12.4(6)T') flag++;
else if (version == '12.4(4)T7') flag++;
else if (version == '12.4(4)T6') flag++;
else if (version == '12.4(4)T5') flag++;
else if (version == '12.4(4)T4') flag++;
else if (version == '12.4(4)T3') flag++;
else if (version == '12.4(4)T2') flag++;
else if (version == '12.4(4)T1') flag++;
else if (version == '12.4(4)T') flag++;
else if (version == '12.4(2)T5') flag++;
else if (version == '12.4(2)T4') flag++;
else if (version == '12.4(2)T3') flag++;
else if (version == '12.4(2)T2') flag++;
else if (version == '12.4(2)T1') flag++;
else if (version == '12.4(2)T') flag++;
else if (version == '12.4(11)SW2') flag++;
else if (version == '12.4(11)SW1') flag++;
else if (version == '12.4(11)SW') flag++;
else if (version == '12.4(11)MR') flag++;
else if (version == '12.4(9)MR') flag++;
else if (version == '12.4(6)MR1') flag++;
else if (version == '12.4(6)MR') flag++;
else if (version == '12.4(4)MR1') flag++;
else if (version == '12.4(4)MR') flag++;
else if (version == '12.4(2)MR1') flag++;
else if (version == '12.4(2)MR') flag++;
else if (version == '12.4(10b)') flag++;
else if (version == '12.4(10a)') flag++;
else if (version == '12.4(10)') flag++;
else if (version == '12.4(8c)') flag++;
else if (version == '12.4(8b)') flag++;
else if (version == '12.4(8a)') flag++;
else if (version == '12.4(8)') flag++;
else if (version == '12.4(7d)') flag++;
else if (version == '12.4(7c)') flag++;
else if (version == '12.4(7b)') flag++;
else if (version == '12.4(7a)') flag++;
else if (version == '12.4(7)') flag++;
else if (version == '12.4(5b)') flag++;
else if (version == '12.4(5a)') flag++;
else if (version == '12.4(5)') flag++;
else if (version == '12.4(3g)') flag++;
else if (version == '12.4(3f)') flag++;
else if (version == '12.4(3e)') flag++;
else if (version == '12.4(3d)') flag++;
else if (version == '12.4(3c)') flag++;
else if (version == '12.4(3b)') flag++;
else if (version == '12.4(3a)') flag++;
else if (version == '12.4(3)') flag++;
else if (version == '12.4(1c)') flag++;
else if (version == '12.4(1b)') flag++;
else if (version == '12.4(1a)') flag++;
else if (version == '12.4(1)') flag++;
else if (version == '12.3(8)ZA') flag++;
else if (version == '12.3(11)YZ1') flag++;
else if (version == '12.3(11)YZ') flag++;
else if (version == '12.3(14)YX7') flag++;
else if (version == '12.3(14)YX5') flag++;
else if (version == '12.3(14)YX4') flag++;
else if (version == '12.3(14)YX3') flag++;
else if (version == '12.3(14)YX2') flag++;
else if (version == '12.3(14)YX1') flag++;
else if (version == '12.3(14)YX') flag++;
else if (version == '12.3(14)YU1') flag++;
else if (version == '12.3(14)YU') flag++;
else if (version == '12.3(14)YT1') flag++;
else if (version == '12.3(14)YT') flag++;
else if (version == '12.3(11)YS2') flag++;
else if (version == '12.3(11)YS1') flag++;
else if (version == '12.3(11)YS') flag++;
else if (version == '12.3(14)YQ8') flag++;
else if (version == '12.3(14)YQ7') flag++;
else if (version == '12.3(14)YQ6') flag++;
else if (version == '12.3(14)YQ5') flag++;
else if (version == '12.3(14)YQ4') flag++;
else if (version == '12.3(14)YQ3') flag++;
else if (version == '12.3(14)YQ2') flag++;
else if (version == '12.3(14)YQ1') flag++;
else if (version == '12.3(14)YQ') flag++;
else if (version == '12.3(14)YM9') flag++;
else if (version == '12.3(14)YM8') flag++;
else if (version == '12.3(14)YM7') flag++;
else if (version == '12.3(14)YM6') flag++;
else if (version == '12.3(14)YM5') flag++;
else if (version == '12.3(14)YM4') flag++;
else if (version == '12.3(14)YM3') flag++;
else if (version == '12.3(14)YM2') flag++;
else if (version == '12.3(11)YK2') flag++;
else if (version == '12.3(11)YK1') flag++;
else if (version == '12.3(11)YK') flag++;
else if (version == '12.3(11)YJ') flag++;
else if (version == '12.3(8)YI3') flag++;
else if (version == '12.3(8)YI2') flag++;
else if (version == '12.3(8)YI1') flag++;
else if (version == '12.3(8)YH') flag++;
else if (version == '12.3(8)YG5') flag++;
else if (version == '12.3(8)YG4') flag++;
else if (version == '12.3(8)YG3') flag++;
else if (version == '12.3(8)YG2') flag++;
else if (version == '12.3(8)YG1') flag++;
else if (version == '12.3(8)YG') flag++;
else if (version == '12.3(11)YF4') flag++;
else if (version == '12.3(11)YF3') flag++;
else if (version == '12.3(11)YF2') flag++;
else if (version == '12.3(11)YF1') flag++;
else if (version == '12.3(11)YF') flag++;
else if (version == '12.3(8)YD1') flag++;
else if (version == '12.3(8)YD') flag++;
else if (version == '12.3(8)YA1') flag++;
else if (version == '12.3(8)YA') flag++;
else if (version == '12.3(2)XZ2') flag++;
else if (version == '12.3(2)XZ1') flag++;
else if (version == '12.3(2)XZ') flag++;
else if (version == '12.3(8)XY7') flag++;
else if (version == '12.3(8)XY6') flag++;
else if (version == '12.3(8)XY5') flag++;
else if (version == '12.3(8)XY4') flag++;
else if (version == '12.3(8)XY3') flag++;
else if (version == '12.3(8)XY2') flag++;
else if (version == '12.3(8)XY1') flag++;
else if (version == '12.3(8)XY') flag++;
else if (version == '12.3(8)XX2d') flag++;
else if (version == '12.3(8)XX1') flag++;
else if (version == '12.3(8)XX') flag++;
else if (version == '12.3(8)XW3') flag++;
else if (version == '12.3(8)XW2') flag++;
else if (version == '12.3(8)XW1') flag++;
else if (version == '12.3(8)XW') flag++;
else if (version == '12.3(8)XU5') flag++;
else if (version == '12.3(8)XU4') flag++;
else if (version == '12.3(8)XU3') flag++;
else if (version == '12.3(8)XU2') flag++;
else if (version == '12.3(8)XU1') flag++;
else if (version == '12.3(8)XU') flag++;
else if (version == '12.3(7)XS2') flag++;
else if (version == '12.3(7)XS1') flag++;
else if (version == '12.3(7)XS') flag++;
else if (version == '12.3(7)XR6') flag++;
else if (version == '12.3(7)XR5') flag++;
else if (version == '12.3(7)XR4') flag++;
else if (version == '12.3(7)XR3') flag++;
else if (version == '12.3(7)XR2') flag++;
else if (version == '12.3(7)XR') flag++;
else if (version == '12.3(4)XQ1') flag++;
else if (version == '12.3(4)XQ') flag++;
else if (version == '12.3(11)XL1') flag++;
else if (version == '12.3(11)XL') flag++;
else if (version == '12.3(4)XK4') flag++;
else if (version == '12.3(4)XK3') flag++;
else if (version == '12.3(4)XK2') flag++;
else if (version == '12.3(4)XK1') flag++;
else if (version == '12.3(4)XK') flag++;
else if (version == '12.3(7)XJ2') flag++;
else if (version == '12.3(7)XJ1') flag++;
else if (version == '12.3(7)XJ') flag++;
else if (version == '12.3(7)XI9') flag++;
else if (version == '12.3(7)XI8d') flag++;
else if (version == '12.3(7)XI8c') flag++;
else if (version == '12.3(7)XI8a') flag++;
else if (version == '12.3(7)XI8') flag++;
else if (version == '12.3(7)XI7b') flag++;
else if (version == '12.3(7)XI7a') flag++;
else if (version == '12.3(7)XI7') flag++;
else if (version == '12.3(7)XI6') flag++;
else if (version == '12.3(7)XI5') flag++;
else if (version == '12.3(7)XI4') flag++;
else if (version == '12.3(7)XI3') flag++;
else if (version == '12.3(7)XI2a') flag++;
else if (version == '12.3(7)XI2') flag++;
else if (version == '12.3(7)XI1c') flag++;
else if (version == '12.3(7)XI1b') flag++;
else if (version == '12.3(7)XI1') flag++;
else if (version == '12.3(4)XG5') flag++;
else if (version == '12.3(4)XG4') flag++;
else if (version == '12.3(4)XG3') flag++;
else if (version == '12.3(4)XG2') flag++;
else if (version == '12.3(4)XG1') flag++;
else if (version == '12.3(4)XG') flag++;
else if (version == '12.3(2)XF') flag++;
else if (version == '12.3(2)XE5') flag++;
else if (version == '12.3(2)XE4') flag++;
else if (version == '12.3(2)XE3') flag++;
else if (version == '12.3(2)XE2') flag++;
else if (version == '12.3(2)XE1') flag++;
else if (version == '12.3(2)XE') flag++;
else if (version == '12.3(4)XD4') flag++;
else if (version == '12.3(4)XD3') flag++;
else if (version == '12.3(4)XD2') flag++;
else if (version == '12.3(4)XD1') flag++;
else if (version == '12.3(4)XD') flag++;
else if (version == '12.3(2)XC4') flag++;
else if (version == '12.3(2)XC3') flag++;
else if (version == '12.3(2)XC2') flag++;
else if (version == '12.3(2)XC1') flag++;
else if (version == '12.3(2)XC') flag++;
else if (version == '12.3(2)XB3') flag++;
else if (version == '12.3(2)XB1') flag++;
else if (version == '12.3(2)XB') flag++;
else if (version == '12.3(2)XA5') flag++;
else if (version == '12.3(2)XA4') flag++;
else if (version == '12.3(2)XA3') flag++;
else if (version == '12.3(2)XA2') flag++;
else if (version == '12.3(2)XA1') flag++;
else if (version == '12.3(2)XA') flag++;
else if (version == '12.3(4)TPC11b') flag++;
else if (version == '12.3(4)TPC11a') flag++;
else if (version == '12.3(14)T7') flag++;
else if (version == '12.3(14)T6') flag++;
else if (version == '12.3(14)T5') flag++;
else if (version == '12.3(14)T3') flag++;
else if (version == '12.3(14)T2') flag++;
else if (version == '12.3(14)T1') flag++;
else if (version == '12.3(14)T') flag++;
else if (version == '12.3(11)T9') flag++;
else if (version == '12.3(11)T8') flag++;
else if (version == '12.3(11)T7') flag++;
else if (version == '12.3(11)T6') flag++;
else if (version == '12.3(11)T5') flag++;
else if (version == '12.3(11)T4') flag++;
else if (version == '12.3(11)T3') flag++;
else if (version == '12.3(11)T2') flag++;
else if (version == '12.3(11)T11') flag++;
else if (version == '12.3(11)T10') flag++;
else if (version == '12.3(11)T') flag++;
else if (version == '12.3(8)T9') flag++;
else if (version == '12.3(8)T8') flag++;
else if (version == '12.3(8)T7') flag++;
else if (version == '12.3(8)T6') flag++;
else if (version == '12.3(8)T5') flag++;
else if (version == '12.3(8)T4') flag++;
else if (version == '12.3(8)T3') flag++;
else if (version == '12.3(8)T11') flag++;
else if (version == '12.3(8)T10') flag++;
else if (version == '12.3(8)T1') flag++;
else if (version == '12.3(8)T') flag++;
else if (version == '12.3(7)T9') flag++;
else if (version == '12.3(7)T8') flag++;
else if (version == '12.3(7)T7') flag++;
else if (version == '12.3(7)T6') flag++;
else if (version == '12.3(7)T4') flag++;
else if (version == '12.3(7)T3') flag++;
else if (version == '12.3(7)T2') flag++;
else if (version == '12.3(7)T12') flag++;
else if (version == '12.3(7)T11') flag++;
else if (version == '12.3(7)T10') flag++;
else if (version == '12.3(7)T1') flag++;
else if (version == '12.3(7)T') flag++;
else if (version == '12.3(4)T9') flag++;
else if (version == '12.3(4)T8') flag++;
else if (version == '12.3(4)T7') flag++;
else if (version == '12.3(4)T6') flag++;
else if (version == '12.3(4)T4') flag++;
else if (version == '12.3(4)T3') flag++;
else if (version == '12.3(4)T2a') flag++;
else if (version == '12.3(4)T2') flag++;
else if (version == '12.3(4)T13') flag++;
else if (version == '12.3(4)T11') flag++;
else if (version == '12.3(4)T10') flag++;
else if (version == '12.3(4)T1') flag++;
else if (version == '12.3(4)T') flag++;
else if (version == '12.3(2)T9') flag++;
else if (version == '12.3(2)T8') flag++;
else if (version == '12.3(2)T7') flag++;
else if (version == '12.3(2)T6') flag++;
else if (version == '12.3(2)T5') flag++;
else if (version == '12.3(2)T4') flag++;
else if (version == '12.3(2)T3') flag++;
else if (version == '12.3(2)T2') flag++;
else if (version == '12.3(2)T1') flag++;
else if (version == '12.3(2)T') flag++;
else if (version == '12.3(11)JX1') flag++;
else if (version == '12.3(11)JX') flag++;
else if (version == '12.3(7)JX8') flag++;
else if (version == '12.3(7)JX7') flag++;
else if (version == '12.3(7)JX6') flag++;
else if (version == '12.3(7)JX5') flag++;
else if (version == '12.3(7)JX4') flag++;
else if (version == '12.3(7)JX3') flag++;
else if (version == '12.3(7)JX2') flag++;
else if (version == '12.3(7)JX1') flag++;
else if (version == '12.3(7)JX') flag++;
else if (version == '12.3(2)JL1') flag++;
else if (version == '12.3(2)JL') flag++;
else if (version == '12.3(8)JK1') flag++;
else if (version == '12.3(2)JK2') flag++;
else if (version == '12.3(2)JK1') flag++;
else if (version == '12.3(2)JK') flag++;
else if (version == '12.3(8)JEB') flag++;
else if (version == '12.3(8)JEA1') flag++;
else if (version == '12.3(8)JEA') flag++;
else if (version == '12.3(11)JA3') flag++;
else if (version == '12.3(11)JA2') flag++;
else if (version == '12.3(11)JA1') flag++;
else if (version == '12.3(11)JA') flag++;
else if (version == '12.3(8)JA2') flag++;
else if (version == '12.3(8)JA1') flag++;
else if (version == '12.3(8)JA') flag++;
else if (version == '12.3(7)JA5') flag++;
else if (version == '12.3(7)JA4') flag++;
else if (version == '12.3(7)JA3') flag++;
else if (version == '12.3(7)JA2') flag++;
else if (version == '12.3(7)JA1') flag++;
else if (version == '12.3(7)JA') flag++;
else if (version == '12.3(4)JA2') flag++;
else if (version == '12.3(4)JA1') flag++;
else if (version == '12.3(4)JA') flag++;
else if (version == '12.3(2)JA6') flag++;
else if (version == '12.3(2)JA5') flag++;
else if (version == '12.3(2)JA2') flag++;
else if (version == '12.3(2)JA1') flag++;
else if (version == '12.3(2)JA') flag++;
else if (version == '12.3(1a)BW') flag++;
else if (version == '12.3(21a)BC1') flag++;
else if (version == '12.3(21)BC') flag++;
else if (version == '12.3(17b)BC7') flag++;
else if (version == '12.3(17b)BC6') flag++;
else if (version == '12.3(17b)BC5') flag++;
else if (version == '12.3(17b)BC4') flag++;
else if (version == '12.3(17b)BC3') flag++;
else if (version == '12.3(17a)BC2') flag++;
else if (version == '12.3(17a)BC1') flag++;
else if (version == '12.3(17a)BC') flag++;
else if (version == '12.3(13a)BC6') flag++;
else if (version == '12.3(13a)BC5') flag++;
else if (version == '12.3(13a)BC4') flag++;
else if (version == '12.3(13a)BC3') flag++;
else if (version == '12.3(13a)BC2') flag++;
else if (version == '12.3(13a)BC1') flag++;
else if (version == '12.3(13a)BC') flag++;
else if (version == '12.3(9a)BC9') flag++;
else if (version == '12.3(9a)BC8') flag++;
else if (version == '12.3(9a)BC7') flag++;
else if (version == '12.3(9a)BC6') flag++;
else if (version == '12.3(9a)BC5') flag++;
else if (version == '12.3(9a)BC4') flag++;
else if (version == '12.3(9a)BC3') flag++;
else if (version == '12.3(9a)BC2') flag++;
else if (version == '12.3(9a)BC1') flag++;
else if (version == '12.3(9a)BC') flag++;
else if (version == '12.3(5a)B5') flag++;
else if (version == '12.3(5a)B4') flag++;
else if (version == '12.3(5a)B3') flag++;
else if (version == '12.3(5a)B2') flag++;
else if (version == '12.3(5a)B1') flag++;
else if (version == '12.3(5a)B') flag++;
else if (version == '12.3(3)B1') flag++;
else if (version == '12.3(3)B') flag++;
else if (version == '12.3(1a)B') flag++;
else if (version == '12.3(22a)') flag++;
else if (version == '12.3(22)') flag++;
else if (version == '12.3(21b)') flag++;
else if (version == '12.3(21)') flag++;
else if (version == '12.3(20a)') flag++;
else if (version == '12.3(20)') flag++;
else if (version == '12.3(19)') flag++;
else if (version == '12.3(18)') flag++;
else if (version == '12.3(17b)') flag++;
else if (version == '12.3(17a)') flag++;
else if (version == '12.3(17)') flag++;
else if (version == '12.3(16a)') flag++;
else if (version == '12.3(16)') flag++;
else if (version == '12.3(15b)') flag++;
else if (version == '12.3(15a)') flag++;
else if (version == '12.3(15)') flag++;
else if (version == '12.3(13b)') flag++;
else if (version == '12.3(13a)') flag++;
else if (version == '12.3(13)') flag++;
else if (version == '12.3(12e)') flag++;
else if (version == '12.3(12d)') flag++;
else if (version == '12.3(12c)') flag++;
else if (version == '12.3(12b)') flag++;
else if (version == '12.3(12a)') flag++;
else if (version == '12.3(12)') flag++;
else if (version == '12.3(10f)') flag++;
else if (version == '12.3(10e)') flag++;
else if (version == '12.3(10d)') flag++;
else if (version == '12.3(10c)') flag++;
else if (version == '12.3(10b)') flag++;
else if (version == '12.3(10a)') flag++;
else if (version == '12.3(10)') flag++;
else if (version == '12.3(9e)') flag++;
else if (version == '12.3(9d)') flag++;
else if (version == '12.3(9c)') flag++;
else if (version == '12.3(9b)') flag++;
else if (version == '12.3(9a)') flag++;
else if (version == '12.3(9)') flag++;
else if (version == '12.3(6f)') flag++;
else if (version == '12.3(6e)') flag++;
else if (version == '12.3(6c)') flag++;
else if (version == '12.3(6b)') flag++;
else if (version == '12.3(6a)') flag++;
else if (version == '12.3(6)') flag++;
else if (version == '12.3(5f)') flag++;
else if (version == '12.3(5e)') flag++;
else if (version == '12.3(5d)') flag++;
else if (version == '12.3(5c)') flag++;
else if (version == '12.3(5b)') flag++;
else if (version == '12.3(5a)') flag++;
else if (version == '12.3(5)') flag++;
else if (version == '12.3(3i)') flag++;
else if (version == '12.3(3h)') flag++;
else if (version == '12.3(3g)') flag++;
else if (version == '12.3(3f)') flag++;
else if (version == '12.3(3e)') flag++;
else if (version == '12.3(3c)') flag++;
else if (version == '12.3(3b)') flag++;
else if (version == '12.3(3a)') flag++;
else if (version == '12.3(3)') flag++;
else if (version == '12.3(1a)') flag++;
else if (version == '12.3(1)') flag++;
else if (version == '12.2(28)ZX') flag++;
else if (version == '12.2(28b)ZV1') flag++;
else if (version == '12.2(28)ZV2') flag++;
else if (version == '12.2(18)ZU2') flag++;
else if (version == '12.2(18)ZU1') flag++;
else if (version == '12.2(18)ZU') flag++;
else if (version == '12.2(13)ZP4') flag++;
else if (version == '12.2(13)ZP3') flag++;
else if (version == '12.2(13)ZP2') flag++;
else if (version == '12.2(13)ZP1') flag++;
else if (version == '12.2(13)ZP') flag++;
else if (version == '12.2(15)ZL1') flag++;
else if (version == '12.2(15)ZL') flag++;
else if (version == '12.2(15)ZJ5') flag++;
else if (version == '12.2(15)ZJ3') flag++;
else if (version == '12.2(15)ZJ2') flag++;
else if (version == '12.2(15)ZJ1') flag++;
else if (version == '12.2(15)ZJ') flag++;
else if (version == '12.2(13)ZH8') flag++;
else if (version == '12.2(13)ZH7') flag++;
else if (version == '12.2(13)ZH6') flag++;
else if (version == '12.2(13)ZH5') flag++;
else if (version == '12.2(13)ZH4') flag++;
else if (version == '12.2(13)ZH3') flag++;
else if (version == '12.2(13)ZH2') flag++;
else if (version == '12.2(13)ZH1') flag++;
else if (version == '12.2(13)ZH') flag++;
else if (version == '12.2(13)ZG') flag++;
else if (version == '12.2(13)ZF2') flag++;
else if (version == '12.2(13)ZF1') flag++;
else if (version == '12.2(13)ZF') flag++;
else if (version == '12.2(13)ZE') flag++;
else if (version == '12.2(13)ZD4') flag++;
else if (version == '12.2(13)ZD3') flag++;
else if (version == '12.2(13)ZD2') flag++;
else if (version == '12.2(13)ZD1') flag++;
else if (version == '12.2(13)ZD') flag++;
else if (version == '12.2(13)ZC') flag++;
else if (version == '12.2(11)ZC') flag++;
else if (version == '12.2(8)ZB8') flag++;
else if (version == '12.2(8)ZB7') flag++;
else if (version == '12.2(8)ZB6') flag++;
else if (version == '12.2(8)ZB5') flag++;
else if (version == '12.2(8)ZB4a') flag++;
else if (version == '12.2(8)ZB4') flag++;
else if (version == '12.2(8)ZB3') flag++;
else if (version == '12.2(8)ZB2') flag++;
else if (version == '12.2(8)ZB1') flag++;
else if (version == '12.2(8)ZB') flag++;
else if (version == '12.2(14)ZA7') flag++;
else if (version == '12.2(14)ZA6') flag++;
else if (version == '12.2(14)ZA5') flag++;
else if (version == '12.2(14)ZA4') flag++;
else if (version == '12.2(14)ZA3') flag++;
else if (version == '12.2(14)ZA2') flag++;
else if (version == '12.2(14)ZA1') flag++;
else if (version == '12.2(14)ZA') flag++;
else if (version == '12.2(9)ZA') flag++;
else if (version == '12.2(11)YZ2') flag++;
else if (version == '12.2(11)YZ1') flag++;
else if (version == '12.2(11)YZ') flag++;
else if (version == '12.2(8)YY4') flag++;
else if (version == '12.2(8)YY3') flag++;
else if (version == '12.2(8)YY2') flag++;
else if (version == '12.2(8)YY1') flag++;
else if (version == '12.2(8)YY') flag++;
else if (version == '12.2(11)YX1') flag++;
else if (version == '12.2(11)YX') flag++;
else if (version == '12.2(8)YW3') flag++;
else if (version == '12.2(8)YW2') flag++;
else if (version == '12.2(8)YW1') flag++;
else if (version == '12.2(8)YW') flag++;
else if (version == '12.2(11)YV1') flag++;
else if (version == '12.2(11)YV') flag++;
else if (version == '12.2(11)YU') flag++;
else if (version == '12.2(11)YT2') flag++;
else if (version == '12.2(11)YT1') flag++;
else if (version == '12.2(11)YT') flag++;
else if (version == '12.2(11)YR') flag++;
else if (version == '12.2(11)YQ') flag++;
else if (version == '12.2(11)YP3') flag++;
else if (version == '12.2(8)YN1') flag++;
else if (version == '12.2(8)YN') flag++;
else if (version == '12.2(8)YM') flag++;
else if (version == '12.2(8)YL') flag++;
else if (version == '12.2(2)YK1') flag++;
else if (version == '12.2(2)YK') flag++;
else if (version == '12.2(8)YJ1') flag++;
else if (version == '12.2(8)YJ') flag++;
else if (version == '12.2(4)YH') flag++;
else if (version == '12.2(4)YG') flag++;
else if (version == '12.2(4)YF') flag++;
else if (version == '12.2(9)YE') flag++;
else if (version == '12.2(8)YD3') flag++;
else if (version == '12.2(8)YD2') flag++;
else if (version == '12.2(8)YD1') flag++;
else if (version == '12.2(8)YD') flag++;
else if (version == '12.2(2)YC4') flag++;
else if (version == '12.2(2)YC3') flag++;
else if (version == '12.2(2)YC2') flag++;
else if (version == '12.2(2)YC1') flag++;
else if (version == '12.2(2)YC') flag++;
else if (version == '12.2(4)YB') flag++;
else if (version == '12.2(4)YA9') flag++;
else if (version == '12.2(4)YA8') flag++;
else if (version == '12.2(4)YA7') flag++;
else if (version == '12.2(4)YA6') flag++;
else if (version == '12.2(4)YA5') flag++;
else if (version == '12.2(4)YA4') flag++;
else if (version == '12.2(4)YA3') flag++;
else if (version == '12.2(4)YA2') flag++;
else if (version == '12.2(4)YA12') flag++;
else if (version == '12.2(4)YA11') flag++;
else if (version == '12.2(4)YA10') flag++;
else if (version == '12.2(4)YA1') flag++;
else if (version == '12.2(4)YA') flag++;
else if (version == '12.2(4)XW') flag++;
else if (version == '12.2(4)XV5') flag++;
else if (version == '12.2(4)XV4a') flag++;
else if (version == '12.2(4)XV4') flag++;
else if (version == '12.2(4)XV3') flag++;
else if (version == '12.2(4)XV2') flag++;
else if (version == '12.2(4)XV1') flag++;
else if (version == '12.2(4)XV') flag++;
else if (version == '12.2(2)XU') flag++;
else if (version == '12.2(2)XT3') flag++;
else if (version == '12.2(2)XT2') flag++;
else if (version == '12.2(2)XT') flag++;
else if (version == '12.2(15)XR2') flag++;
else if (version == '12.2(15)XR1') flag++;
else if (version == '12.2(15)XR') flag++;
else if (version == '12.2(4)XR') flag++;
else if (version == '12.2(2)XR') flag++;
else if (version == '12.2(2)XQ1') flag++;
else if (version == '12.2(2)XQ') flag++;
else if (version == '12.2(2)XN') flag++;
else if (version == '12.2(4)XM4') flag++;
else if (version == '12.2(4)XM3') flag++;
else if (version == '12.2(4)XM2') flag++;
else if (version == '12.2(4)XM1') flag++;
else if (version == '12.2(4)XM') flag++;
else if (version == '12.2(4)XL6') flag++;
else if (version == '12.2(4)XL5') flag++;
else if (version == '12.2(4)XL4') flag++;
else if (version == '12.2(4)XL3') flag++;
else if (version == '12.2(4)XL2') flag++;
else if (version == '12.2(4)XL1') flag++;
else if (version == '12.2(4)XL') flag++;
else if (version == '12.2(2)XK3') flag++;
else if (version == '12.2(2)XK2') flag++;
else if (version == '12.2(2)XK1') flag++;
else if (version == '12.2(2)XK') flag++;
else if (version == '12.2(2)XJ') flag++;
else if (version == '12.2(2)XI2') flag++;
else if (version == '12.2(2)XI1') flag++;
else if (version == '12.2(2)XI') flag++;
else if (version == '12.2(2)XH2') flag++;
else if (version == '12.2(2)XH1') flag++;
else if (version == '12.2(2)XH') flag++;
else if (version == '12.2(2)XG1') flag++;
else if (version == '12.2(2)XG') flag++;
else if (version == '12.2(4)XF1') flag++;
else if (version == '12.2(4)XF') flag++;
else if (version == '12.2(2)XF2') flag++;
else if (version == '12.2(2)XF1') flag++;
else if (version == '12.2(2)XF') flag++;
else if (version == '12.2(1)XF1') flag++;
else if (version == '12.2(1)XF') flag++;
else if (version == '12.2(1)XE2') flag++;
else if (version == '12.2(1)XE1') flag++;
else if (version == '12.2(1)XE') flag++;
else if (version == '12.2(1)XD4') flag++;
else if (version == '12.2(1)XD3') flag++;
else if (version == '12.2(1)XD2') flag++;
else if (version == '12.2(1)XD1') flag++;
else if (version == '12.2(1)XD') flag++;
else if (version == '12.2(2)XC2') flag++;
else if (version == '12.2(2)XC1') flag++;
else if (version == '12.2(2)XC') flag++;
else if (version == '12.2(2)XB8') flag++;
else if (version == '12.2(2)XB7') flag++;
else if (version == '12.2(2)XB6') flag++;
else if (version == '12.2(2)XB5') flag++;
else if (version == '12.2(2)XB3') flag++;
else if (version == '12.2(2)XB2') flag++;
else if (version == '12.2(2)XB15') flag++;
else if (version == '12.2(2)XB14') flag++;
else if (version == '12.2(2)XB12') flag++;
else if (version == '12.2(2)XB11') flag++;
else if (version == '12.2(2)XB10') flag++;
else if (version == '12.2(2)XB1') flag++;
else if (version == '12.2(2)XA5') flag++;
else if (version == '12.2(2)XA4') flag++;
else if (version == '12.2(2)XA3') flag++;
else if (version == '12.2(2)XA2') flag++;
else if (version == '12.2(2)XA1') flag++;
else if (version == '12.2(2)XA') flag++;
else if (version == '12.2(28)VZ') flag++;
else if (version == '12.2(8)TPC10a') flag++;
else if (version == '12.2(15)T9') flag++;
else if (version == '12.2(15)T8') flag++;
else if (version == '12.2(15)T7') flag++;
else if (version == '12.2(15)T5') flag++;
else if (version == '12.2(15)T4e') flag++;
else if (version == '12.2(15)T4') flag++;
else if (version == '12.2(15)T2') flag++;
else if (version == '12.2(15)T16') flag++;
else if (version == '12.2(15)T15') flag++;
else if (version == '12.2(15)T14') flag++;
else if (version == '12.2(15)T13') flag++;
else if (version == '12.2(15)T12') flag++;
else if (version == '12.2(15)T11') flag++;
else if (version == '12.2(15)T10') flag++;
else if (version == '12.2(15)T1') flag++;
else if (version == '12.2(15)T') flag++;
else if (version == '12.2(13)T9') flag++;
else if (version == '12.2(13)T8') flag++;
else if (version == '12.2(13)T5') flag++;
else if (version == '12.2(13)T4') flag++;
else if (version == '12.2(13)T3') flag++;
else if (version == '12.2(13)T2') flag++;
else if (version == '12.2(13)T16') flag++;
else if (version == '12.2(13)T14') flag++;
else if (version == '12.2(13)T13') flag++;
else if (version == '12.2(13)T12') flag++;
else if (version == '12.2(13)T11') flag++;
else if (version == '12.2(13)T10') flag++;
else if (version == '12.2(13)T1a') flag++;
else if (version == '12.2(13)T1') flag++;
else if (version == '12.2(13)T') flag++;
else if (version == '12.2(11)T9') flag++;
else if (version == '12.2(11)T8') flag++;
else if (version == '12.2(11)T6') flag++;
else if (version == '12.2(11)T5') flag++;
else if (version == '12.2(11)T4') flag++;
else if (version == '12.2(11)T3') flag++;
else if (version == '12.2(11)T2') flag++;
else if (version == '12.2(11)T11') flag++;
else if (version == '12.2(11)T10') flag++;
else if (version == '12.2(11)T1') flag++;
else if (version == '12.2(11)T') flag++;
else if (version == '12.2(8)T8') flag++;
else if (version == '12.2(8)T7') flag++;
else if (version == '12.2(8)T5') flag++;
else if (version == '12.2(8)T4') flag++;
else if (version == '12.2(8)T3') flag++;
else if (version == '12.2(8)T2') flag++;
else if (version == '12.2(8)T10') flag++;
else if (version == '12.2(8)T1') flag++;
else if (version == '12.2(8)T') flag++;
else if (version == '12.2(4)T7') flag++;
else if (version == '12.2(4)T6') flag++;
else if (version == '12.2(4)T5') flag++;
else if (version == '12.2(4)T3') flag++;
else if (version == '12.2(4)T2') flag++;
else if (version == '12.2(4)T1') flag++;
else if (version == '12.2(4)T') flag++;
else if (version == '12.2(2)T4') flag++;
else if (version == '12.2(2)T3') flag++;
else if (version == '12.2(2)T2') flag++;
else if (version == '12.2(2)T1') flag++;
else if (version == '12.2(2)T') flag++;
else if (version == '12.2(14)SZ6') flag++;
else if (version == '12.2(14)SZ5') flag++;
else if (version == '12.2(14)SZ4') flag++;
else if (version == '12.2(14)SZ3') flag++;
else if (version == '12.2(14)SZ2') flag++;
else if (version == '12.2(14)SZ1') flag++;
else if (version == '12.2(14)SZ') flag++;
else if (version == '12.2(14)SY5') flag++;
else if (version == '12.2(14)SY4') flag++;
else if (version == '12.2(14)SY3') flag++;
else if (version == '12.2(14)SY2') flag++;
else if (version == '12.2(14)SY1') flag++;
else if (version == '12.2(14)SY') flag++;
else if (version == '12.2(18)SXF8') flag++;
else if (version == '12.2(18)SXF7') flag++;
else if (version == '12.2(18)SXF6') flag++;
else if (version == '12.2(18)SXF5') flag++;
else if (version == '12.2(18)SXF4') flag++;
else if (version == '12.2(18)SXF3') flag++;
else if (version == '12.2(18)SXF2') flag++;
else if (version == '12.2(18)SXF1') flag++;
else if (version == '12.2(18)SXF') flag++;
else if (version == '12.2(18)SXE6b') flag++;
else if (version == '12.2(18)SXE6a') flag++;
else if (version == '12.2(18)SXE6') flag++;
else if (version == '12.2(18)SXE5') flag++;
else if (version == '12.2(18)SXE4') flag++;
else if (version == '12.2(18)SXE3') flag++;
else if (version == '12.2(18)SXE2') flag++;
else if (version == '12.2(18)SXE1') flag++;
else if (version == '12.2(18)SXE') flag++;
else if (version == '12.2(18)SXD7b') flag++;
else if (version == '12.2(18)SXD7a') flag++;
else if (version == '12.2(18)SXD7') flag++;
else if (version == '12.2(18)SXD6') flag++;
else if (version == '12.2(18)SXD5') flag++;
else if (version == '12.2(18)SXD4') flag++;
else if (version == '12.2(18)SXD3') flag++;
else if (version == '12.2(18)SXD2') flag++;
else if (version == '12.2(18)SXD1') flag++;
else if (version == '12.2(18)SXD') flag++;
else if (version == '12.2(17d)SXB9') flag++;
else if (version == '12.2(17d)SXB8') flag++;
else if (version == '12.2(17d)SXB7') flag++;
else if (version == '12.2(17d)SXB6') flag++;
else if (version == '12.2(17d)SXB5') flag++;
else if (version == '12.2(17d)SXB4') flag++;
else if (version == '12.2(17d)SXB3') flag++;
else if (version == '12.2(17d)SXB2') flag++;
else if (version == '12.2(17d)SXB11a') flag++;
else if (version == '12.2(17d)SXB11') flag++;
else if (version == '12.2(17d)SXB10') flag++;
else if (version == '12.2(17d)SXB1') flag++;
else if (version == '12.2(17d)SXB') flag++;
else if (version == '12.2(17b)SXA2') flag++;
else if (version == '12.2(17b)SXA') flag++;
else if (version == '12.2(17a)SX4') flag++;
else if (version == '12.2(17a)SX3') flag++;
else if (version == '12.2(17a)SX2') flag++;
else if (version == '12.2(17a)SX1') flag++;
else if (version == '12.2(17a)SX') flag++;
else if (version == '12.2(14)SX2') flag++;
else if (version == '12.2(14)SX1') flag++;
else if (version == '12.2(14)SX') flag++;
else if (version == '12.2(25)SW9') flag++;
else if (version == '12.2(25)SW8') flag++;
else if (version == '12.2(25)SW7') flag++;
else if (version == '12.2(25)SW6') flag++;
else if (version == '12.2(25)SW5') flag++;
else if (version == '12.2(25)SW4a') flag++;
else if (version == '12.2(25)SW4') flag++;
else if (version == '12.2(25)SW3a') flag++;
else if (version == '12.2(25)SW3') flag++;
else if (version == '12.2(25)SW2') flag++;
else if (version == '12.2(25)SW11') flag++;
else if (version == '12.2(25)SW10') flag++;
else if (version == '12.2(25)SW1') flag++;
else if (version == '12.2(23)SW1') flag++;
else if (version == '12.2(23)SW') flag++;
else if (version == '12.2(21)SW1') flag++;
else if (version == '12.2(21)SW') flag++;
else if (version == '12.2(20)SW') flag++;
else if (version == '12.2(19)SW') flag++;
else if (version == '12.2(18)SW') flag++;
else if (version == '12.2(29b)SV') flag++;
else if (version == '12.2(29a)SV1') flag++;
else if (version == '12.2(29a)SV') flag++;
else if (version == '12.2(29)SV3') flag++;
else if (version == '12.2(29)SV2') flag++;
else if (version == '12.2(29)SV1') flag++;
else if (version == '12.2(29)SV') flag++;
else if (version == '12.2(28)SV2') flag++;
else if (version == '12.2(28)SV1') flag++;
else if (version == '12.2(28)SV') flag++;
else if (version == '12.2(27)SV5') flag++;
else if (version == '12.2(27)SV4') flag++;
else if (version == '12.2(27)SV3') flag++;
else if (version == '12.2(27)SV2') flag++;
else if (version == '12.2(27)SV1') flag++;
else if (version == '12.2(27)SV') flag++;
else if (version == '12.2(26)SV1') flag++;
else if (version == '12.2(26)SV') flag++;
else if (version == '12.2(25)SV3') flag++;
else if (version == '12.2(25)SV2') flag++;
else if (version == '12.2(25)SV') flag++;
else if (version == '12.2(24)SV1') flag++;
else if (version == '12.2(24)SV') flag++;
else if (version == '12.2(23)SV1') flag++;
else if (version == '12.2(23)SV') flag++;
else if (version == '12.2(22)SV1') flag++;
else if (version == '12.2(22)SV') flag++;
else if (version == '12.2(18)SV3') flag++;
else if (version == '12.2(18)SV2') flag++;
else if (version == '12.2(18)SV1') flag++;
else if (version == '12.2(18)SV') flag++;
else if (version == '12.2(14)SU2') flag++;
else if (version == '12.2(14)SU1') flag++;
else if (version == '12.2(14)SU') flag++;
else if (version == '12.2(33)SRB') flag++;
else if (version == '12.2(33)SRA3') flag++;
else if (version == '12.2(33)SRA2') flag++;
else if (version == '12.2(33)SRA1') flag++;
else if (version == '12.2(33)SRA') flag++;
else if (version == '12.2(18)SO7') flag++;
else if (version == '12.2(18)SO6') flag++;
else if (version == '12.2(18)SO5') flag++;
else if (version == '12.2(18)SO4') flag++;
else if (version == '12.2(18)SO3') flag++;
else if (version == '12.2(18)SO2') flag++;
else if (version == '12.2(18)SO1') flag++;
else if (version == '12.2(29)SM2') flag++;
else if (version == '12.2(29)SM1') flag++;
else if (version == '12.2(29)SM') flag++;
else if (version == '12.2(31)SGA1') flag++;
else if (version == '12.2(31)SGA') flag++;
else if (version == '12.2(31)SG2') flag++;
else if (version == '12.2(31)SG1') flag++;
else if (version == '12.2(31)SG') flag++;
else if (version == '12.2(25)SG2') flag++;
else if (version == '12.2(25)SG1') flag++;
else if (version == '12.2(25)SG') flag++;
else if (version == '12.2(25)SEG2') flag++;
else if (version == '12.2(25)SEG1') flag++;
else if (version == '12.2(25)SEG') flag++;
else if (version == '12.2(25)SEF2') flag++;
else if (version == '12.2(25)SEF1') flag++;
else if (version == '12.2(25)SEE3') flag++;
else if (version == '12.2(25)SEE2') flag++;
else if (version == '12.2(25)SEE1') flag++;
else if (version == '12.2(25)SEE') flag++;
else if (version == '12.2(25)SED1') flag++;
else if (version == '12.2(25)SED') flag++;
else if (version == '12.2(25)SEC2') flag++;
else if (version == '12.2(25)SEC1') flag++;
else if (version == '12.2(25)SEC') flag++;
else if (version == '12.2(25)SEB4') flag++;
else if (version == '12.2(25)SEB3') flag++;
else if (version == '12.2(25)SEB2') flag++;
else if (version == '12.2(25)SEB1') flag++;
else if (version == '12.2(25)SEB') flag++;
else if (version == '12.2(25)SEA') flag++;
else if (version == '12.2(35)SE3') flag++;
else if (version == '12.2(35)SE2') flag++;
else if (version == '12.2(35)SE1') flag++;
else if (version == '12.2(25)SE3') flag++;
else if (version == '12.2(25)SE2') flag++;
else if (version == '12.2(25)SE') flag++;
else if (version == '12.2(20)SE4') flag++;
else if (version == '12.2(20)SE3') flag++;
else if (version == '12.2(20)SE2') flag++;
else if (version == '12.2(20)SE1') flag++;
else if (version == '12.2(20)SE') flag++;
else if (version == '12.2(18)SE1') flag++;
else if (version == '12.2(18)SE') flag++;
else if (version == '12.2(27)SBC5') flag++;
else if (version == '12.2(27)SBC4') flag++;
else if (version == '12.2(27)SBC3') flag++;
else if (version == '12.2(27)SBC2') flag++;
else if (version == '12.2(27)SBC1') flag++;
else if (version == '12.2(27)SBC') flag++;
else if (version == '12.2(31)SB3x') flag++;
else if (version == '12.2(31)SB3') flag++;
else if (version == '12.2(31)SB2') flag++;
else if (version == '12.2(28)SB6') flag++;
else if (version == '12.2(28)SB5') flag++;
else if (version == '12.2(28)SB4') flag++;
else if (version == '12.2(28)SB3') flag++;
else if (version == '12.2(28)SB2') flag++;
else if (version == '12.2(28)SB1') flag++;
else if (version == '12.2(28)SB') flag++;
else if (version == '12.2(30)S1') flag++;
else if (version == '12.2(30)S') flag++;
else if (version == '12.2(25)S9') flag++;
else if (version == '12.2(25)S8') flag++;
else if (version == '12.2(25)S7') flag++;
else if (version == '12.2(25)S6') flag++;
else if (version == '12.2(25)S5') flag++;
else if (version == '12.2(25)S4') flag++;
else if (version == '12.2(25)S3') flag++;
else if (version == '12.2(25)S2') flag++;
else if (version == '12.2(25)S12') flag++;
else if (version == '12.2(25)S11') flag++;
else if (version == '12.2(25)S10') flag++;
else if (version == '12.2(25)S1') flag++;
else if (version == '12.2(25)S') flag++;
else if (version == '12.2(22)S2') flag++;
else if (version == '12.2(22)S1') flag++;
else if (version == '12.2(22)S') flag++;
else if (version == '12.2(20)S9') flag++;
else if (version == '12.2(20)S8') flag++;
else if (version == '12.2(20)S7') flag++;
else if (version == '12.2(20)S6') flag++;
else if (version == '12.2(20)S5') flag++;
else if (version == '12.2(20)S4') flag++;
else if (version == '12.2(20)S3') flag++;
else if (version == '12.2(20)S2') flag++;
else if (version == '12.2(20)S13') flag++;
else if (version == '12.2(20)S12') flag++;
else if (version == '12.2(20)S11') flag++;
else if (version == '12.2(20)S10') flag++;
else if (version == '12.2(20)S1') flag++;
else if (version == '12.2(20)S') flag++;
else if (version == '12.2(18)S9') flag++;
else if (version == '12.2(18)S8') flag++;
else if (version == '12.2(18)S7') flag++;
else if (version == '12.2(18)S6') flag++;
else if (version == '12.2(18)S5') flag++;
else if (version == '12.2(18)S4') flag++;
else if (version == '12.2(18)S3') flag++;
else if (version == '12.2(18)S2') flag++;
else if (version == '12.2(18)S12') flag++;
else if (version == '12.2(18)S11') flag++;
else if (version == '12.2(18)S10') flag++;
else if (version == '12.2(18)S1') flag++;
else if (version == '12.2(18)S') flag++;
else if (version == '12.2(14)S9') flag++;
else if (version == '12.2(14)S8') flag++;
else if (version == '12.2(14)S7') flag++;
else if (version == '12.2(14)S5') flag++;
else if (version == '12.2(14)S3') flag++;
else if (version == '12.2(14)S2') flag++;
else if (version == '12.2(14)S17') flag++;
else if (version == '12.2(14)S16') flag++;
else if (version == '12.2(14)S15') flag++;
else if (version == '12.2(14)S14') flag++;
else if (version == '12.2(14)S13') flag++;
else if (version == '12.2(14)S12') flag++;
else if (version == '12.2(14)S11') flag++;
else if (version == '12.2(14)S10') flag++;
else if (version == '12.2(14)S1') flag++;
else if (version == '12.2(14)S') flag++;
else if (version == '12.2(9)S') flag++;
else if (version == '12.2(15)MC2l') flag++;
else if (version == '12.2(15)MC2g') flag++;
else if (version == '12.2(15)MC2f') flag++;
else if (version == '12.2(15)MC2e') flag++;
else if (version == '12.2(15)MC2c') flag++;
else if (version == '12.2(15)MC2b') flag++;
else if (version == '12.2(15)MC2a') flag++;
else if (version == '12.2(15)MC2') flag++;
else if (version == '12.2(15)MC1c') flag++;
else if (version == '12.2(15)MC1b') flag++;
else if (version == '12.2(15)MC1a') flag++;
else if (version == '12.2(15)MC1') flag++;
else if (version == '12.2(8)MC2d') flag++;
else if (version == '12.2(8)MC2c') flag++;
else if (version == '12.2(8)MC2b') flag++;
else if (version == '12.2(8)MC2a') flag++;
else if (version == '12.2(8)MC2') flag++;
else if (version == '12.2(8)MC1') flag++;
else if (version == '12.2(4)MB9a') flag++;
else if (version == '12.2(4)MB9') flag++;
else if (version == '12.2(4)MB8') flag++;
else if (version == '12.2(4)MB7') flag++;
else if (version == '12.2(4)MB6') flag++;
else if (version == '12.2(4)MB5') flag++;
else if (version == '12.2(4)MB4') flag++;
else if (version == '12.2(4)MB3') flag++;
else if (version == '12.2(4)MB2') flag++;
else if (version == '12.2(4)MB13c') flag++;
else if (version == '12.2(4)MB13b') flag++;
else if (version == '12.2(4)MB13a') flag++;
else if (version == '12.2(4)MB13') flag++;
else if (version == '12.2(4)MB12') flag++;
else if (version == '12.2(4)MB11') flag++;
else if (version == '12.2(4)MB10') flag++;
else if (version == '12.2(4)MB1') flag++;
else if (version == '12.2(1)MB1') flag++;
else if (version == '12.2(15)JK5') flag++;
else if (version == '12.2(15)JK4') flag++;
else if (version == '12.2(15)JK3') flag++;
else if (version == '12.2(15)JK2') flag++;
else if (version == '12.2(15)JK1') flag++;
else if (version == '12.2(15)JK') flag++;
else if (version == '12.2(15)JA') flag++;
else if (version == '12.2(13)JA4') flag++;
else if (version == '12.2(13)JA3') flag++;
else if (version == '12.2(13)JA2') flag++;
else if (version == '12.2(13)JA1') flag++;
else if (version == '12.2(13)JA') flag++;
else if (version == '12.2(11)JA3') flag++;
else if (version == '12.2(11)JA2') flag++;
else if (version == '12.2(11)JA1') flag++;
else if (version == '12.2(11)JA') flag++;
else if (version == '12.2(8)JA') flag++;
else if (version == '12.2(4)JA1') flag++;
else if (version == '12.2(4)JA') flag++;
else if (version == '12.2(18)IXD1') flag++;
else if (version == '12.2(18)IXD') flag++;
else if (version == '12.2(18)IXC') flag++;
else if (version == '12.2(18)IXB2') flag++;
else if (version == '12.2(18)IXB1') flag++;
else if (version == '12.2(18)IXB') flag++;
else if (version == '12.2(18)IXA') flag++;
else if (version == '12.2(25)FZ') flag++;
else if (version == '12.2(25)FY') flag++;
else if (version == '12.2(25)FX') flag++;
else if (version == '12.2(25)EZ1') flag++;
else if (version == '12.2(25)EZ') flag++;
else if (version == '12.2(25)EY4') flag++;
else if (version == '12.2(25)EY3') flag++;
else if (version == '12.2(25)EY2') flag++;
else if (version == '12.2(25)EY1') flag++;
else if (version == '12.2(25)EY') flag++;
else if (version == '12.2(35)EX') flag++;
else if (version == '12.2(25)EX1') flag++;
else if (version == '12.2(25)EX') flag++;
else if (version == '12.2(20)EX') flag++;
else if (version == '12.2(25)EWA9') flag++;
else if (version == '12.2(25)EWA8') flag++;
else if (version == '12.2(25)EWA7') flag++;
else if (version == '12.2(25)EWA6') flag++;
else if (version == '12.2(25)EWA5') flag++;
else if (version == '12.2(25)EWA4') flag++;
else if (version == '12.2(25)EWA3') flag++;
else if (version == '12.2(25)EWA2') flag++;
else if (version == '12.2(25)EWA1') flag++;
else if (version == '12.2(25)EWA') flag++;
else if (version == '12.2(20)EWA4') flag++;
else if (version == '12.2(20)EWA3') flag++;
else if (version == '12.2(20)EWA2') flag++;
else if (version == '12.2(20)EWA1') flag++;
else if (version == '12.2(20)EWA') flag++;
else if (version == '12.2(25)EW') flag++;
else if (version == '12.2(20)EW4') flag++;
else if (version == '12.2(20)EW3') flag++;
else if (version == '12.2(20)EW2') flag++;
else if (version == '12.2(20)EW1') flag++;
else if (version == '12.2(20)EW') flag++;
else if (version == '12.2(18)EW7') flag++;
else if (version == '12.2(18)EW6') flag++;
else if (version == '12.2(18)EW5') flag++;
else if (version == '12.2(18)EW4') flag++;
else if (version == '12.2(18)EW3') flag++;
else if (version == '12.2(18)EW2') flag++;
else if (version == '12.2(18)EW1') flag++;
else if (version == '12.2(18)EW') flag++;
else if (version == '12.2(20)EU2') flag++;
else if (version == '12.2(20)EU1') flag++;
else if (version == '12.2(20)EU') flag++;
else if (version == '12.2(2)DX3') flag++;
else if (version == '12.2(1)DX1') flag++;
else if (version == '12.2(1)DX') flag++;
else if (version == '12.2(2)DD4') flag++;
else if (version == '12.2(2)DD3') flag++;
else if (version == '12.2(2)DD2') flag++;
else if (version == '12.2(2)DD1') flag++;
else if (version == '12.2(2)DD') flag++;
else if (version == '12.2(15)CZ3') flag++;
else if (version == '12.2(15)CZ2') flag++;
else if (version == '12.2(15)CZ1') flag++;
else if (version == '12.2(15)CZ') flag++;
else if (version == '12.2(11)CY') flag++;
else if (version == '12.2(15)CX1') flag++;
else if (version == '12.2(15)CX') flag++;
else if (version == '12.2(11)CX1') flag++;
else if (version == '12.2(11)CX') flag++;
else if (version == '12.2(15)BZ2') flag++;
else if (version == '12.2(4)BZ2') flag++;
else if (version == '12.2(4)BZ1') flag++;
else if (version == '12.2(8)BY2') flag++;
else if (version == '12.2(8)BY1') flag++;
else if (version == '12.2(8)BY') flag++;
else if (version == '12.2(2)BY3') flag++;
else if (version == '12.2(2)BY2') flag++;
else if (version == '12.2(2)BY1') flag++;
else if (version == '12.2(2)BY') flag++;
else if (version == '12.2(16)BX3') flag++;
else if (version == '12.2(16)BX2') flag++;
else if (version == '12.2(16)BX1') flag++;
else if (version == '12.2(16)BX') flag++;
else if (version == '12.2(15)BX') flag++;
else if (version == '12.2(2)BX1') flag++;
else if (version == '12.2(2)BX') flag++;
else if (version == '12.2(4)BW2') flag++;
else if (version == '12.2(4)BW1a') flag++;
else if (version == '12.2(4)BW1') flag++;
else if (version == '12.2(4)BW') flag++;
else if (version == '12.2(15)BC2i') flag++;
else if (version == '12.2(15)BC2h') flag++;
else if (version == '12.2(15)BC2g') flag++;
else if (version == '12.2(15)BC2f') flag++;
else if (version == '12.2(15)BC2e') flag++;
else if (version == '12.2(15)BC2d') flag++;
else if (version == '12.2(15)BC2c') flag++;
else if (version == '12.2(15)BC2b') flag++;
else if (version == '12.2(15)BC2a') flag++;
else if (version == '12.2(15)BC2') flag++;
else if (version == '12.2(15)BC1g') flag++;
else if (version == '12.2(15)BC1f') flag++;
else if (version == '12.2(15)BC1e') flag++;
else if (version == '12.2(15)BC1d') flag++;
else if (version == '12.2(15)BC1c') flag++;
else if (version == '12.2(15)BC1b') flag++;
else if (version == '12.2(15)BC1a') flag++;
else if (version == '12.2(15)BC1') flag++;
else if (version == '12.2(11)BC3d') flag++;
else if (version == '12.2(11)BC3c') flag++;
else if (version == '12.2(11)BC3b') flag++;
else if (version == '12.2(11)BC3a') flag++;
else if (version == '12.2(11)BC3') flag++;
else if (version == '12.2(11)BC2a') flag++;
else if (version == '12.2(11)BC2') flag++;
else if (version == '12.2(11)BC1b') flag++;
else if (version == '12.2(11)BC1a') flag++;
else if (version == '12.2(11)BC1') flag++;
else if (version == '12.2(8)BC2a') flag++;
else if (version == '12.2(8)BC2') flag++;
else if (version == '12.2(8)BC1') flag++;
else if (version == '12.2(4)BC1b') flag++;
else if (version == '12.2(4)BC1a') flag++;
else if (version == '12.2(4)BC1') flag++;
else if (version == '12.2(16)B2') flag++;
else if (version == '12.2(16)B1') flag++;
else if (version == '12.2(16)B') flag++;
else if (version == '12.2(15)B') flag++;
else if (version == '12.2(4)B8') flag++;
else if (version == '12.2(4)B7') flag++;
else if (version == '12.2(4)B6') flag++;
else if (version == '12.2(4)B5') flag++;
else if (version == '12.2(4)B4') flag++;
else if (version == '12.2(4)B3') flag++;
else if (version == '12.2(4)B2') flag++;
else if (version == '12.2(4)B1') flag++;
else if (version == '12.2(4)B') flag++;
else if (version == '12.2(2)B7') flag++;
else if (version == '12.2(2)B6') flag++;
else if (version == '12.2(2)B5') flag++;
else if (version == '12.2(2)B4') flag++;
else if (version == '12.2(2)B3') flag++;
else if (version == '12.2(2)B2') flag++;
else if (version == '12.2(2)B1') flag++;
else if (version == '12.2(2)B') flag++;
else if (version == '12.1(5)YI2') flag++;
else if (version == '12.1(5)YI1') flag++;
else if (version == '12.1(5)YI') flag++;
else if (version == '12.1(5)YH4') flag++;
else if (version == '12.1(5)YH3') flag++;
else if (version == '12.1(5)YH2') flag++;
else if (version == '12.1(5)YH1') flag++;
else if (version == '12.1(5)YH') flag++;
else if (version == '12.1(5)YF4') flag++;
else if (version == '12.1(5)YF3') flag++;
else if (version == '12.1(5)YF2') flag++;
else if (version == '12.1(5)YF1') flag++;
else if (version == '12.1(5)YF') flag++;
else if (version == '12.1(5)YE5') flag++;
else if (version == '12.1(5)YE4') flag++;
else if (version == '12.1(5)YE3') flag++;
else if (version == '12.1(5)YE2') flag++;
else if (version == '12.1(5)YE1') flag++;
else if (version == '12.1(5)YD6') flag++;
else if (version == '12.1(5)YD5') flag++;
else if (version == '12.1(5)YD4') flag++;
else if (version == '12.1(5)YD3') flag++;
else if (version == '12.1(5)YD2') flag++;
else if (version == '12.1(5)YD1') flag++;
else if (version == '12.1(5)YD') flag++;
else if (version == '12.1(5)YC3') flag++;
else if (version == '12.1(5)YC2') flag++;
else if (version == '12.1(5)YC1') flag++;
else if (version == '12.1(5)YC') flag++;
else if (version == '12.1(5)YB5') flag++;
else if (version == '12.1(5)YB4') flag++;
else if (version == '12.1(5)YB3') flag++;
else if (version == '12.1(5)YB1') flag++;
else if (version == '12.1(5)YB') flag++;
else if (version == '12.1(5)XV4') flag++;
else if (version == '12.1(5)XV2') flag++;
else if (version == '12.1(5)XV1') flag++;
else if (version == '12.1(5)XV') flag++;
else if (version == '12.1(5)XU1') flag++;
else if (version == '12.1(5)XU') flag++;
else if (version == '12.0(30)SZ6') flag++;
else if (version == '12.0(30)SZ5') flag++;
else if (version == '12.0(30)SZ4') flag++;
else if (version == '12.0(23)SZ3') flag++;
else if (version == '12.0(21)SZ') flag++;
else if (version == '12.0(32)SY5') flag++;
else if (version == '12.0(32)SY4') flag++;
else if (version == '12.0(32)SY3') flag++;
else if (version == '12.0(32)SY2') flag++;
else if (version == '12.0(32)SY1') flag++;
else if (version == '12.0(32)SY') flag++;
else if (version == '12.0(25)SX9') flag++;
else if (version == '12.0(25)SX8') flag++;
else if (version == '12.0(25)SX7') flag++;
else if (version == '12.0(25)SX6e') flag++;
else if (version == '12.0(25)SX6') flag++;
else if (version == '12.0(25)SX5') flag++;
else if (version == '12.0(25)SX4') flag++;
else if (version == '12.0(25)SX3') flag++;
else if (version == '12.0(25)SX2') flag++;
else if (version == '12.0(25)SX10') flag++;
else if (version == '12.0(25)SX1') flag++;
else if (version == '12.0(25)SX') flag++;
else if (version == '12.0(23)SX5') flag++;
else if (version == '12.0(23)SX4') flag++;
else if (version == '12.0(23)SX3') flag++;
else if (version == '12.0(23)SX2') flag++;
else if (version == '12.0(23)SX1') flag++;
else if (version == '12.0(23)SX') flag++;
else if (version == '12.0(21)SX1') flag++;
else if (version == '12.0(21)SX') flag++;
else if (version == '12.0(28)SW1') flag++;
else if (version == '12.0(21)ST7') flag++;
else if (version == '12.0(21)ST6a') flag++;
else if (version == '12.0(21)ST6') flag++;
else if (version == '12.0(21)ST5') flag++;
else if (version == '12.0(21)ST4') flag++;
else if (version == '12.0(21)ST3a') flag++;
else if (version == '12.0(21)ST3') flag++;
else if (version == '12.0(21)ST2b') flag++;
else if (version == '12.0(21)ST2a') flag++;
else if (version == '12.0(21)ST2') flag++;
else if (version == '12.0(21)ST1') flag++;
else if (version == '12.0(21)ST') flag++;
else if (version == '12.0(20)ST6') flag++;
else if (version == '12.0(20)ST5') flag++;
else if (version == '12.0(20)ST4') flag++;
else if (version == '12.0(20)ST3') flag++;
else if (version == '12.0(20)ST2') flag++;
else if (version == '12.0(20)ST1') flag++;
else if (version == '12.0(20)ST') flag++;
else if (version == '12.0(19)ST6') flag++;
else if (version == '12.0(19)ST5') flag++;
else if (version == '12.0(19)ST4') flag++;
else if (version == '12.0(19)ST3') flag++;
else if (version == '12.0(19)ST2') flag++;
else if (version == '12.0(19)ST1') flag++;
else if (version == '12.0(19)ST') flag++;
else if (version == '12.0(19)SL4') flag++;
else if (version == '12.0(19)SL3') flag++;
else if (version == '12.0(19)SL2') flag++;
else if (version == '12.0(19)SL1') flag++;
else if (version == '12.0(19)SL') flag++;
else if (version == '12.0(33)S') flag++;
else if (version == '12.0(32)S9') flag++;
else if (version == '12.0(32)S8') flag++;
else if (version == '12.0(32)S7') flag++;
else if (version == '12.0(32)S6') flag++;
else if (version == '12.0(32)S5') flag++;
else if (version == '12.0(32)S4') flag++;
else if (version == '12.0(32)S3d') flag++;
else if (version == '12.0(32)S3') flag++;
else if (version == '12.0(32)S2') flag++;
else if (version == '12.0(32)S1') flag++;
else if (version == '12.0(32)S') flag++;
else if (version == '12.0(31)S6') flag++;
else if (version == '12.0(31)S5') flag++;
else if (version == '12.0(31)S4') flag++;
else if (version == '12.0(31)S3') flag++;
else if (version == '12.0(31)S2') flag++;
else if (version == '12.0(31)S1') flag++;
else if (version == '12.0(31)S') flag++;
else if (version == '12.0(30)S5') flag++;
else if (version == '12.0(30)S4') flag++;
else if (version == '12.0(30)S3') flag++;
else if (version == '12.0(30)S2') flag++;
else if (version == '12.0(30)S1') flag++;
else if (version == '12.0(30)S') flag++;
else if (version == '12.0(29)S1') flag++;
else if (version == '12.0(29)S') flag++;
else if (version == '12.0(28)S6') flag++;
else if (version == '12.0(28)S5') flag++;
else if (version == '12.0(28)S4') flag++;
else if (version == '12.0(28)S3') flag++;
else if (version == '12.0(28)S2') flag++;
else if (version == '12.0(28)S1') flag++;
else if (version == '12.0(28)S') flag++;
else if (version == '12.0(27)S5') flag++;
else if (version == '12.0(27)S4') flag++;
else if (version == '12.0(27)S3') flag++;
else if (version == '12.0(27)S2a') flag++;
else if (version == '12.0(27)S2') flag++;
else if (version == '12.0(27)S1') flag++;
else if (version == '12.0(27)S') flag++;
else if (version == '12.0(26)S6') flag++;
else if (version == '12.0(26)S5') flag++;
else if (version == '12.0(26)S4') flag++;
else if (version == '12.0(26)S3') flag++;
else if (version == '12.0(26)S2') flag++;
else if (version == '12.0(26)S1') flag++;
else if (version == '12.0(26)S') flag++;
else if (version == '12.0(25)S4') flag++;
else if (version == '12.0(25)S3') flag++;
else if (version == '12.0(25)S2') flag++;
else if (version == '12.0(25)S1d') flag++;
else if (version == '12.0(25)S1c') flag++;
else if (version == '12.0(25)S1b') flag++;
else if (version == '12.0(25)S1a') flag++;
else if (version == '12.0(25)S1') flag++;
else if (version == '12.0(25)S') flag++;
else if (version == '12.0(24)S6') flag++;
else if (version == '12.0(24)S5') flag++;
else if (version == '12.0(24)S4a') flag++;
else if (version == '12.0(24)S4') flag++;
else if (version == '12.0(24)S3') flag++;
else if (version == '12.0(24)S2b') flag++;
else if (version == '12.0(24)S2a') flag++;
else if (version == '12.0(24)S2') flag++;
else if (version == '12.0(24)S1') flag++;
else if (version == '12.0(24)S') flag++;
else if (version == '12.0(23)S6a') flag++;
else if (version == '12.0(23)S6') flag++;
else if (version == '12.0(23)S5') flag++;
else if (version == '12.0(23)S4') flag++;
else if (version == '12.0(23)S3c') flag++;
else if (version == '12.0(23)S3b') flag++;
else if (version == '12.0(23)S3a') flag++;
else if (version == '12.0(23)S3') flag++;
else if (version == '12.0(23)S2a') flag++;
else if (version == '12.0(23)S2') flag++;
else if (version == '12.0(23)S1') flag++;
else if (version == '12.0(23)S') flag++;
else if (version == '12.0(22)S6') flag++;
else if (version == '12.0(22)S5a') flag++;
else if (version == '12.0(22)S5') flag++;
else if (version == '12.0(22)S4a') flag++;
else if (version == '12.0(22)S4') flag++;
else if (version == '12.0(22)S3c') flag++;
else if (version == '12.0(22)S3b') flag++;
else if (version == '12.0(22)S3a') flag++;
else if (version == '12.0(22)S3') flag++;
else if (version == '12.0(22)S2e') flag++;
else if (version == '12.0(22)S2d') flag++;
else if (version == '12.0(22)S2c') flag++;
else if (version == '12.0(22)S2b') flag++;
else if (version == '12.0(22)S2a') flag++;
else if (version == '12.0(22)S2') flag++;
else if (version == '12.0(22)S1') flag++;
else if (version == '12.0(22)S') 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:"ipv6 address", multiline:TRUE, string:buf)) { flag = 1; }
      if (preg(pattern:"ipv6 enabled", multiline:TRUE, string:buf)) { flag = 1; }
    } else if (cisco_needs_enable(buf)) { flag = 1; override = 1; }
  }

  if (flag)
  {
    flag = 0;
    buf = cisco_command_kb_item("Host/Cisco/Config/show_ip_sockets", "show ip sockets");
    if (check_cisco_result(buf))
    {
      if (preg(pattern:"OutputIF[\r\n ]+[^\r\n ]+", 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");

Oval

accepted2008-09-08T04:00:55.428-04:00
classvulnerability
contributors
nameYuzheng Zhou
organizationHewlett-Packard
descriptionCisco IOS 12.1, 12.2, 12.3, and 12.4, with IPv4 UDP services and the IPv6 protocol enabled, allows remote attackers to cause a denial of service (device crash and possible blocked interface) via a crafted IPv6 packet to the device.
familyios
idoval:org.mitre.oval:def:5860
statusaccepted
submitted2008-05-26T11:06:36.000-04:00
titleCisco IOS UDP for IPv4/IPv6 Unspecified Vulnerability
version3

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 28461 CVE(CAN) ID: CVE-2008-1153 Cisco IOS是思科网络设备中所使用的互联网操作系统。 运行Cisco IOS软件的设备如果启用了IPv6,就会受拒绝服务攻击影响。设备必须还要启用了IPv4 UDP服务才会受这个漏洞影响。如果要利用这个漏洞,攻击IPv6报文必须指向设备,通过路由器路由的报文不会触发这个漏洞。成功利用这个漏洞可能导致以下情况之一: 1. 如果接口上配置了RSVP服务则设备会崩溃。 2. 任何其他受影响的基于IPv4 UDP的服务会导致接口无法接收更多的通讯,仅有利用漏洞端口才会受影响。 这个漏洞与接口媒介类型无关。被阻断的接口会立即停止接收任何发送给设备本身的报文,直到打开接口。阻断的接口在一段时间内可能仍允许中间通讯,直到路由项或地址解析协议(ARP)项过期(以先过期项为准)。中间通讯可能在几秒钟或4小时(ARP缓存的默认生命时间)内停止经过阻断的接口,具体取决于环境。之后没有中间通讯会通过被阻断的接口。 Cisco IOS 12.4 Cisco IOS 12.3 Cisco IOS 12.2 Cisco IOS 12.1 临时解决方法: * 如果不需要IPv6协议 +------------------------------- 使用以下命令禁用IPv6: Router(config)#interface FastEthernet0/0 Router(config-if)#no ipv6 address 或者 Router(config)#interface FastEthernet0/0 Router(config-if)#no ipv6 enable 如果RSVP为唯一所配置的受影响服务,只要在RSVP所配置的接口上禁用IPv6。如果设备上还有其他受影响的UDP服务,则必须从所有接口禁用IPv6。 * 如果不需要基于IPv4 UDP的服务 +------------------------------------------ 仅有所有受影响的基于IPv4 UDP的服务。 禁用TACACS +--------------- 使用以下命令禁用TACACS: Router(config)#no tacacs-server host &lt;IP-address&gt; 或者 Router(config)#no tacacs-server administration 禁用DNS +------------ 使用以下命令禁用DNS: Router(config)#no ip dns server 禁用RSVP +------------- 使用以下命令禁用RSVP: Router(config)#interface &lt;Interface&gt; Router(config)#no ip rsvp bandwidth 禁用L2F/L2TP +----------------- 使用以下命令禁用L2F/L2TP: Router(config)#clear vpdn tunnel l2tp all Router(config)#no vpdn-group &lt;group-name&gt; Router(config)#no vpdn enable 禁用IP SLA Responder +------------------------- 使用以下命令禁用IP SLA Responder: Router(config)#no ip sla monitor responder 禁用MGCP +------------- 使用以下命令禁用MGCP: Router(config)#no mgcp 禁用SIP +------------ 使用以下命令禁用SIP: Router(config)#sip-ua Router(config-sip-ua)#no transport udp Router(config-sip-ua)#no transport tcp * 如果需要基于IPv4 UDP的服务 +--------------------------------------- 可通过部署IPv6访问控制列表(ACL)防止攻击IPv6报文到达有漏洞的UDP服务。以下示例中的ACL可阻断所有IPv6通讯到达有漏洞的服务。 Router(config)#ipv6 access-list protect_IPv4_services Router(config-ipv6-acl)#deny udp any 2001:DB8:1:128::/64 eq tacacs Router(config-ipv6-acl)#deny udp any 2001:DB8:1:128::/64 eq domain Router(config-ipv6-acl)#deny udp any 2001:DB8:1:128::/64 eq 1698 Router(config-ipv6-acl)#deny udp any 2001:DB8:1:128::/64 eq 1701 Router(config-ipv6-acl)#deny udp any 2001:DB8:1:128::/64 eq 1967 Router(config-ipv6-acl)#deny udp any 2001:DB8:1:128::/64 eq 2427 Router(config-ipv6-acl)#deny udp any 2001:DB8:1:128::/64 eq 5060 !-- Permit/deny all other Layer 3 and Layer 4 traffic in accordance !-- with existing security policies and configurations ! !-- Allow all other IPv6 traffic Router(config-ipv6-acl)#permit ipv6 any 2001:db8:1:128::/64 ! ! Router(config)#interface FastEthernet0/1 Router(config-if)#ipv6 traffic-filter protect_IPv4_services in 厂商补丁: Cisco ----- Cisco已经为此发布了一个安全公告(cisco-sa-20080326-IPv4IPv6)以及相应补丁: cisco-sa-20080326-IPv4IPv6:Cisco IOS User Datagram Protocol Delivery Issue For IPv4/IPv6 Dual-stack Routers 链接:<a href=http://www.cisco.com/warp/public/707/cisco-sa-20080326-IPv4IPv6.shtml target=_blank>http://www.cisco.com/warp/public/707/cisco-sa-20080326-IPv4IPv6.shtml</a>
idSSV:3108
last seen2017-11-19
modified2008-03-31
published2008-03-31
reporterRoot
titleCisco IOS双栈路由器IPv6拒绝服务漏洞