Vulnerabilities > CVE-2005-2451 - Unspecified vulnerability in Cisco IOS and IOS XR

047910
CVSS 2.1 - LOW
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
local
low complexity
cisco
nessus

Summary

Cisco IOS 12.0 through 12.4 and IOS XR before 3.2, with IPv6 enabled, allows remote attackers on a local network segment to cause a denial of service (device reload) and possibly execute arbitrary code via a crafted IPv6 packet.

Vulnerable Configurations

Part Description Count
OS
Cisco
148

Nessus

  • NASL familyCISCO
    NASL idCSCEF68324.NASL
    descriptionThe remote version of IOS is vulnerable to a code execution attack when processing malformed IPv6 packets. To exploit this flaw, an attacker would need to ability to send a malformed packet from a local segment and may exploit this issue to cause the remote device to reload repeatedly or to execute arbitrary code in the remote IOS.
    last seen2020-06-01
    modified2020-06-02
    plugin id19771
    published2005-09-22
    reporterThis script is Copyright (C) 2005-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/19771
    titleCisco IOS IPv6 Packet Processing Arbitrary Code Execution (CSCef68324)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    include("compat.inc");
    
    if(description)
    {
     script_id(19771);
     script_version("1.22");
     script_cve_id("CVE-2005-2451");
     script_bugtraq_id(14414);
    
     script_name(english:"Cisco IOS IPv6 Packet Processing Arbitrary Code Execution (CSCef68324)");
    
     script_set_attribute(attribute:"synopsis", value:
    "The remote router contains a vulnerability which may allow an attacker to
    execute arbitrary code on it." );
     script_set_attribute(attribute:"description", value:
    "The remote version of IOS is vulnerable to a code execution attack
    when processing malformed IPv6 packets. 
    
    To exploit this flaw, an attacker would need to ability to send a malformed
    packet from a local segment and may exploit this issue to cause the remote
    device to reload repeatedly or to execute arbitrary code in the remote IOS." );
     script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?7bfd2064" );
     script_set_attribute(attribute:"solution", value:
    "Cisco has made a set of patches available which are listed at the address above." );
     script_set_cvss_base_vector("CVSS2#AV:A/AC:H/Au:N/C:C/I:C/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_publication_date", value: "2005/09/22");
     script_set_attribute(attribute:"vuln_publication_date", value: "2005/07/27");
     script_cvs_date("Date: 2018/11/15 20:50:20");
     script_set_attribute(attribute:"plugin_type", value:"local");
     script_set_attribute(attribute:"cpe", value: "cpe:/o:cisco:ios");
     script_end_attributes();
    
     summary["english"] = "Uses SNMP to determine if a flaw is present";
     script_summary(english:summary["english"]);
    
     script_category(ACT_GATHER_INFO);
    
     script_copyright(english:"This script is Copyright (C) 2005-2018 Tenable Network Security, Inc.");
    
     script_family(english:"CISCO");
    
     script_dependencie("snmp_sysDesc.nasl", "snmp_cisco_type.nasl");
     script_require_keys("SNMP/community", "SNMP/sysDesc", "CISCO/model");
     exit(0);
    }
    
    
    include('cisco_func.inc');
    include('audit.inc');
    
    os = get_kb_item_or_exit("SNMP/sysDesc");
    hardware = get_kb_item_or_exit("CISCO/model");
    version = extract_version(os);
    if ( ! version )
      audit(AUDIT_FN_FAIL, 'extract_version');
    
    
    
    # 12.0
    
    if ( deprecated_version(version, "12.0SL", "12.0ST", "12.0SY") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.0(26)S6", "12.0(27)S5", "12.0(28)S3", "12.0(30)S2"),
    		   newest:"12.0(30)S2") ) vuln ++;
    
    # 12.1
    
    if ( deprecated_version(version, "12.1XU", "12.1XV", "12.1YB", "12.1YC", "12.1YD", "12.1YE", "12.1YF", "12.1YH", "12.1YI") ) vuln ++;
    
    # 12.2
    
    if ( deprecated_version(version, "12.2B","12.2BW", "12.2BY", "12.2BX", "12.2BZ", "12.2CX", "12.2CY", "12.2DD", "12.2DX", "12.2JA", "12.2MX", "12.2SO", "12.2SU", "12.2SX", "12.2SXA", "12.2SY", "12.2SZ", "12.2XA", "12.2XB", "12.2CX", "12.2XF", "12.2XG", "12.2XH", "12.2XI", "12.2XJ", "12.2XK", "12.2XL", "12.2XM", "12.2XN", "12.2XQ", "12.2XR", "12.2XT", "12.2XU", "12.2XW", "12.2XZ", "12.2YB", "12.2YC", "12.2YD", "12.2YE", "12.2YF", "12.2YG", "12.2YH", "12.2YJ", "12.2YK", "12.2YL", "12.2YM", "12.2YN", "12.2YO", "12.2YP", "12.2YQ", "12.2YR", "12.2YT", "12.2YU", "12.2YV", "12.2YW", "12.2YX", "12.2YY", "12.2YZ", "12.2ZA", "12.2ZB", "12.2ZC", "12.2ZE", "12.2ZF", "12.2ZH", "12.2ZJ", "12.2ZL", "12.2ZN", "12.2ZO", "12.2ZP") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(15)BC2h"),
    		   newest:"12.2(15)BC2h") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(20)EU1"),
    		   newest:"12.2(20)EU1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(20)EW2"),
    		   newest:"12.2(20)EW2") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(20)EWA2", "12.2(25)EWA1"),
    		   newest:"12.2(25)EW1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(25)EZ1"),
    		   newest:"12.2(25)EZ1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(15)JK4"),
    		   newest:"12.2(15)JK4") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(4)MB13b"),
    		   newest:"12.2(4)MB13b") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(15)MC2c"),
    		   newest:"12.2(15)MC2c") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(14)S14", "12.2(18)S9", "12.2(20)S8", "12.2(25)S4"),
    		   newest:"12.2(25)S4") ) vuln ++;
    
    # only 12.2SEB affected. check_release() doesn't account for this - it treats all 12.2SEn
    # releases (where 'n' is an uppercase letter) as 12.2SE releases
    if ( "SEB" >< version &&
         check_release(version:version,
    		   patched:make_list("12.2(25)SEB3"),
    		   newest:"12.2(25)SEB3") ) vuln ++;
    
    # only 12.2SEC affected. check_release() doesn't account for this - it treats all 12.2SEn
    # releases (where 'n' is an uppercase letter) as 12.2SE releases
    if ( "SEC" >< version &&
         check_release(version:version,
    		   patched:make_list("12.2(25)SEC1"),
    		   newest:"12.2(25)SEC1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(18)SV3", "12.2(22)SV1", "12.2(23)SV1", "12.2(24)SV1", "12.2(25)SV2"),
    		   newest:"12.2(25)SV2") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(25)SW3a"),
    		   newest:"12.2(25)SW3a") ) vuln ++;
    
    # only 12.2SXB affected. check_release() doesn't account for this - it treats all 12.2SXn
    # releases (where 'n' is an uppercase letter) as 12.2SX releases
    if ( "SXB" >< version &&
         check_release(version:version,
    		   patched:make_list("12.2(17d)SXB8"),
    		   newest:"12.2(17d)SXB8") ) vuln ++;
    
    # only 12.2SXD affected. check_release() doesn't account for this - it treats all 12.2SXn
    # releases (where 'n' is an uppercase letter) as 12.2SX releases
    if ( "SXD" >< version &&
         check_release(version:version,
    		   patched:make_list("12.2(18)SXD4"),
    		   newest:"12.2(18)SXD4") ) vuln ++;
    
    # only 12.2SXE affected. check_release() doesn't account for this - it treats all 12.2SXn
    # releases (where 'n' is an uppercase letter) as 12.2SX releases
    if ( "SXE" >< version &&
         check_release(version:version,
    		   patched:make_list("12.2(18)SXE1"),
    		   newest:"12.2(18)SXE1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(13)T16", "12.2(15)T16"),
    		   newest:"12.2(15)T16") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(4)YA10"),
    		   newest:"12.2(4)YA10") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.2(13)ZD3"),
    		   newest:"12.2(13)ZD3") ) vuln ++;
    
    # 12.3
    
    if ( deprecated_version(version, "12.3BW", "12.3XD", "12.3XF", "12.3XH", "12.3XJ", "12.3XL", "12.3XM", "12.3XS", "12.3XT", "12.3XU", "12.3XW", "12.3XX", "12.3YD", "12.3YK") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(3h)", "12.3(5e)", "12.3(6e)", "12.3(9d)", "12.3(10d)", "12.3(12b)", "12.3(13a)", "12.3(15)"),
    		   newest:"12.3(15)") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(3h)", "12.3(5e)", "12.3(6e)", "12.3(9d)", "12.3(10d)", "12.3(12b)", "12.3(13a)", "12.3(15)"),
    		   newest:"12.3(15)") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(5a)B5"),
    		   newest:"12.3(5a)B5") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(9a)BC6"),
    		   newest:"12.3(9a)BC6") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(4)JA"),
    		   newest:"12.3(4)JA") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(2)JK"),
    		   newest:"12.3(2)JK") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(7)T9", "12.3(8)T8", "12.3(11)T5", "12.3(14)T2"),
    		   newest:"12.3(14)T2") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(2)XA4"),
    		   newest:"12.3(2)XA4") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(2)XC3"),
    		   newest:"12.3(2)XC3") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(2)XE3"),
    		   newest:"12.3(2)XE3") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(4)XG4"),
    		   newest:"12.3(4)XG4") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(4)XI4"),
    		   newest:"12.3(4)XI4") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(4)XK3"),
    		   newest:"12.3(4)XK3") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(4)XQ1"),
    		   newest:"12.3(4)XQ1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(7)XR4"),
    		   newest:"12.3(7)XR4") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(8)XY6"),
    		   newest:"12.3(8)XY6") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(8)YA1"),
    		   newest:"12.3(8)YA1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(11)YF3"),
    		   newest:"12.3(11)YF3") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(8)YG2"),
    		   newest:"12.3(8)YG2") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(8)YI1"),
    		   newest:"12.3(8)YI1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(11)YJ"),
    		   newest:"12.3(11)YJ") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(14)YQ1"),
    		   newest:"12.3(14)YQ1") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(11)YS"),
    		   newest:"12.3(11)YS") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(14)YT"),
    		   newest:"12.3(14)YT") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.3(14)YU"),
    		   newest:"12.3(14)YU") ) vuln ++;
    
    # 12.4
    if ( check_release(version:version,
    		   patched:make_list("12.4(1)"),
    		   newest:"12.4(1)") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.4(2)MR"),
    		   newest:"12.4(2)MR") ) vuln ++;
    
    if ( check_release(version:version,
    		   patched:make_list("12.4(2)T"),
    		   newest:"12.4(2)T") ) vuln ++;
    
    if ( vuln == 1 ) security_warning(port:161, proto:"udp");
    else if ( vuln > 1 )  display("IOS version ", version, " identified as vulnerable by multiple checks\n");
    else audit(AUDIT_INST_VER_NOT_VULN, 'IOS', version);
    
    
    
  • NASL familyCISCO
    NASL idCISCO-SA-20050729-IPV6.NASL
    descriptionCisco Internetwork Operating System (IOS) Software is vulnerable to a denial of service (DoS) and potentially an arbitrary code execution attack from a specially crafted IPv6 packet. The packet must be sent from a local network segment. Only devices that have been explicitly configured to process IPv6 traffic are affected. Upon successful exploitation, the device may reload or be open to further exploitation. Cisco has made free software available to address this vulnerability for all affected customers.
    last seen2020-03-17
    modified2010-09-01
    plugin id48987
    published2010-09-01
    reporterThis script is (C) 2010-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/48987
    titleIPv6 Crafted Packet Vulnerability
    code
    #TRUSTED 9fdc8d51d7623d473885367482e85a11709476ab2db87642558b1b20f676c8fd63ba1d8aed487ee2cdbcae6555a1641c1a53d46f136bf20deac5311f9c54dceccad311728c253620871915e247cda2810d650cbf6a04e4901f917d32bc40dfb7afc6edaf55356d084f2c84ca4060a53f4d2e7d7ac05db4e6ff0bd61ac4792b1d13a6cb20a2183618f1384955c6fde3982ca06a3dec881d43cb0a89efac88a8354df0d7ec60af6b3474833a39c146b9107e34255a5830c11f50fde6c8e427d30642972c94cc360eef8134dafb619e2bc6d07992177c184ba999eba65d4742a634b02f7744158ac45c058d936ba1fdea92a262f5de2402628aa7367d2afe1cc352b7c591d169c523fb6242b9df8f8a34cf2dfc5068699f087cf82c0b426b757f4536e595b0f24235132cdb4f1b2d204950b5e88bbbe471e8bc5c3ac1c3465e1d75ad015b325aa06f7a34a9a8398f61473a75cfd7ef7c33b74ffa8061393a6485b6c2fd97535ad1c1c9142266ad118c1694cf3cc8e71f10510e70595da1b5798eb86168346e5fd6c5cd2ea809246e3dde29c50c825e755eaabc430c18709233d3452df1a1fafc83a42dc6530629d845f4845ebd4bdec9a53f324c4d0ff374fdd7e90a497c4eac8e71ebd57e3d3c290a88111513c62660975554950e304a9aac40079ec7ce1818c57424ca73f794b4d0febbf80a0b2ca2f2c71917cc0bba18e91bf2
    #
    # (C) Tenable Network Security, Inc.
    #
    # Security advisory is (C) CISCO, Inc.
    # See https://www.cisco.com/en/US/products/products_security_advisory09186a00804d82c9.shtml
    
    if (NASL_LEVEL < 3000) exit(0);
    
    include("compat.inc");
    
    if (description)
    {
     script_id(48987);
     script_version("1.20");
     script_set_attribute(attribute:"plugin_modification_date", value:"2018/11/15");
    
    
     script_cve_id("CVE-2005-2451");
     script_bugtraq_id(14414);
     script_xref(name:"CERT", value:"930892");
     script_xref(name:"CISCO-BUG-ID", value:"CSCef68324");
     script_xref(name:"CISCO-BUG-ID", value:"CSCeh74956");
     script_xref(name:"CISCO-SA", value:"cisco-sa-20050729-ipv6");
    
     script_name(english:"IPv6 Crafted Packet Vulnerability");
     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:
    'Cisco Internetwork Operating System (IOS) Software is vulnerable to a
    denial of service (DoS) and potentially an arbitrary code execution
    attack from a specially crafted IPv6 packet. The packet must be sent
    from a local network segment. Only devices that have been explicitly
    configured to process IPv6 traffic are affected. Upon successful
    exploitation, the device may reload or be open to further exploitation.
    Cisco has made free software available to address this vulnerability
    for all affected customers.');
     # http://blog.washingtonpost.com/securityfix/2005/07/black_hat_day_1_update_on_cisc.html
     script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?e875e1f4");
     script_set_attribute(attribute:"see_also", value: "https://seclists.org/fulldisclosure/2005/Jul/643");
     script_set_attribute(attribute:"see_also", value: "http://www.nessus.org/u?7bfd2064");
     # https://www.cisco.com/en/US/products/products_security_advisory09186a00804d82c9.shtml
     script_set_attribute(attribute:"see_also", value: "http://www.nessus.org/u?3a5aa7bd");
     script_set_attribute(attribute:"solution", value:
    "Apply the relevant patch referenced in Cisco Security Advisory
    cisco-sa-20050729-ipv6.");
     script_set_cvss_base_vector("CVSS2#AV:A/AC:L/Au:N/C:C/I:C/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");
    # news reports from black hat
    
     script_set_attribute(attribute:"vuln_publication_date", value:"2005/07/27");
     script_set_attribute(attribute:"patch_publication_date", value:"2005/07/29");
     script_set_attribute(attribute:"plugin_publication_date", value:"2010/09/01");
    
     script_set_attribute(attribute:"plugin_type", value:"local");
     script_set_attribute(attribute:"cpe", value:"cpe:/o:cisco:ios");
     script_end_attributes();
    
     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.3(8)YH') flag++;
    else if (version == '12.3(8)YG') 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)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)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)XR3') flag++;
    else if (version == '12.3(7)XR2') flag++;
    else if (version == '12.3(7)XR') 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)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)XI2') flag++;
    else if (version == '12.3(7)XI1') 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)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)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)XA2') flag++;
    else if (version == '12.3(2)XA1') flag++;
    else if (version == '12.3(2)XA') flag++;
    else if (version == '12.3(11)T2') flag++;
    else if (version == '12.3(11)T') 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)T1') flag++;
    else if (version == '12.3(8)T') 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)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)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(1a)BW') 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)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(10b)') flag++;
    else if (version == '12.3(10a)') flag++;
    else if (version == '12.3(10)') 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(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(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(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(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)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)ZH') 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)ZD2') flag++;
    else if (version == '12.2(13)ZD1') flag++;
    else if (version == '12.2(13)ZD') 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(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(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)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(4)YB') 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)YA2') 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(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)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)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)XG') flag++;
    else if (version == '12.2(4)XF1') 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(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)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)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)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)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)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)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)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)SW3') flag++;
    else if (version == '12.2(25)SW2') 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(14)SU2') flag++;
    else if (version == '12.2(14)SU1') flag++;
    else if (version == '12.2(14)SU') flag++;
    else if (version == '12.2(25)SEC') 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)S2') 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)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)S1') flag++;
    else if (version == '12.2(20)S') 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)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)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)MC2b') flag++;
    else if (version == '12.2(15)MC2a') 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)MC2') flag++;
    else if (version == '12.2(8)MC1') flag++;
    else if (version == '12.2(25)EZ') 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)EW1') flag++;
    else if (version == '12.2(20)EW') 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)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(8)BY2') flag++;
    else if (version == '12.2(8)BY1') flag++;
    else if (version == '12.2(8)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(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)BC2g') flag++;
    else if (version == '12.2(15)BC2f') flag++;
    else if (version == '12.2(15)BC2e') 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)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)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)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)YB1') flag++;
    else if (version == '12.1(5)YB') 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(23)SZ3') flag++;
    else if (version == '12.0(21)SZ') 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(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)ST2') 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(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(29)S1') flag++;
    else if (version == '12.0(29)S') flag++;
    else if (version == '12.0(28)S1') flag++;
    else if (version == '12.0(28)S') 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)S5') flag++;
    else if (version == '12.0(26)S4') flag++;
    else if (version == '12.0(26)S3') flag++;
    else if (version == '12.0(26)S2c') 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)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_ipv6_interface", "show ipv6 interface");
        if (check_cisco_result(buf))
        {
          if (preg(pattern:"IPv6\s+is\s+enabled", 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:23.616-04:00
classvulnerability
contributors
nameYuzheng Zhou
organizationHewlett-Packard
descriptionCisco IOS 12.0 through 12.4 and IOS XR before 3.2, with IPv6 enabled, allows remote attackers on a local network segment to cause a denial of service (device reload) and possibly execute arbitrary code via a crafted IPv6 packet.
familyios
idoval:org.mitre.oval:def:5445
statusaccepted
submitted2008-05-26T11:06:36.000-04:00
titleCisco Systems Internetwork Operating System IPv6 Packet DoS, Code Execution Vulnerability
version3