Multiple Cisco Products Vulnerable to DNS Cache Poisoning Attacks

2010-09-01T00:00:00
ID CISCO-SA-20080708-DNSHTTP.NASL
Type nessus
Reporter This script is (C) 2010-2018 Tenable Network Security, Inc.
Modified 2010-09-01T00:00:00

Description

Multiple Cisco products are vulnerable to DNS cache poisoning attacks due to their use of insufficiently randomized DNS transaction IDs and UDP source ports in the DNS queries that they produce, which may allow an attacker to more easily forge DNS answers that can poison DNS caches. To exploit this vulnerability an attacker must be able to cause a vulnerable DNS server to perform recursive DNS queries. Therefore, DNS servers that are only authoritative, or servers where recursion is not allowed, are not affected. Cisco has released free software updates that address these vulnerabilities.

                                        
                                            #TRUSTED 0e4ba3fa7fb7a68c0ee374a364d1b7b39a71b3b4cf500396a65a34847485fe1de7c0b0525bdbd34e04ba3a93f16d5436e60e85d03d0d11f7099a8bcef7f9e6f20e2601b7b63d21fb4fb748535da71aaf2351bd21fd8253e86b517baf85787208908da641046e5194c190ed39f5cc2bb016bed278868b84c90a37cfeb77a2bc8a840801c3bd967268e48f9d8694b2c98f86d0f7183c5a5f6207baee846e251dfdad881597b4b9ca7efac3e118fd86af6d08d8333de59133a62e3cfc2d5f2fb7a51deda23f233c5561065387cac2d22173e6d355505338acf81e97bcdcc82ef19e8e782263cc9e3a18139edfb1f67826974babc15e9001c0a02b7e2dccb3875604bd2525631dea1f19b748a1a577c495e48765df8bbcb9445815e1271f2adc808a0d3a5bc5842b40ef801da400ef216a1dbc4a72f6abbf4bb4c89433301e270d7e726161299e01a5675429eef304c3cebd9523dbca17aa730b1b9ee49fae983836b3feab7efaf4b4af997da7a69728fb4259f22b6a23a7c641735adebab29232ca2f4f2916233952c8a5a9da55c7cd9ca5122fb55838f771e2f2a473600ec963c743ce456914cda9d990d458794993fc681163156be4790491df305b304053875faed33a48416f1e9e0aad12483753326ad578958204250dab93d53386722b36d64a3627de7cb29f6cf543a1b5432d2d8b8a854d71d2510e20ef2126de56d49cf4
#
# (C) Tenable Network Security, Inc.
#
# Security advisory is (C) CISCO, Inc.
# See https://www.cisco.com/en/US/products/products_security_advisory09186a00809c2168.shtml

if (NASL_LEVEL < 3000) exit(0);

include("compat.inc");

if (description)
{
 script_id(49017);
 script_version("1.22");
 script_set_attribute(attribute:"plugin_modification_date", value:"2018/11/15");
 script_cve_id("CVE-2008-1447");
 script_bugtraq_id(30131);
 script_xref(name:"CERT", value:"800113");
 script_xref(name:"IAVA", value:"2008-A-0045");
 script_xref(name:"CISCO-BUG-ID", value:"CSCso81854");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsq01298");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsq21930");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsr28008");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsr28354");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsr29124");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsr29691");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsr61220");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsr98689");
 script_xref(name:"CISCO-BUG-ID", value:"CSCsu10546");
 script_xref(name:"CISCO-SA", value:"cisco-sa-20080708-dns");
 script_name(english:"Multiple Cisco Products Vulnerable to DNS Cache Poisoning Attacks");
 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:
'Multiple Cisco products are vulnerable to DNS cache poisoning attacks
due to their use of insufficiently randomized DNS transaction IDs and
UDP source ports in the DNS queries that they produce, which may allow
an attacker to more easily forge DNS answers that can poison DNS
caches.
To exploit this vulnerability an attacker must be able to cause a
vulnerable DNS server to perform recursive DNS queries. Therefore, DNS
servers that are only authoritative, or servers where recursion is not
allowed, are not affected.
Cisco has released free software updates that address these
vulnerabilities.
');
 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?2e77e5a8");
 # https://www.cisco.com/en/US/products/products_security_advisory09186a00809c2168.shtml
 script_set_attribute(attribute:"see_also", value: "http://www.nessus.org/u?428cc712");
 script_set_attribute(attribute:"solution", value:
"Apply the relevant patch referenced in Cisco Security Advisory
cisco-sa-20080708-dns.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'DNS BailiWicked Host Attack');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
 script_set_attribute(attribute:"plugin_type", value:"combined");
 script_set_attribute(attribute:"cpe", value:"cpe:/o:cisco:ios");

 script_set_attribute(attribute:"vuln_publication_date", value:"2008/07/08");
 script_set_attribute(attribute:"patch_publication_date", value:"2008/07/08");
 script_set_attribute(attribute:"plugin_publication_date", value:"2010/09/01");

 script_set_attribute(attribute:"stig_severity", value:"I");
 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;
override = 0;
version = get_kb_item_or_exit("Host/Cisco/IOS/Version");

if (version == '12.4(15)XZ') flag++;
else if (version == '12.4(15)XY2') flag++;
else if (version == '12.4(15)XY1') flag++;
else if (version == '12.4(15)XY') flag++;
else if (version == '12.4(11)XW7') flag++;
else if (version == '12.4(11)XW6') flag++;
else if (version == '12.4(11)XW5') flag++;
else if (version == '12.4(11)XW4') flag++;
else if (version == '12.4(11)XW3') flag++;
else if (version == '12.4(11)XW2') flag++;
else if (version == '12.4(11)XW1') flag++;
else if (version == '12.4(11)XW') flag++;
else if (version == '12.4(11)XV1') flag++;
else if (version == '12.4(11)XV') flag++;
else if (version == '12.4(6)XT2') flag++;
else if (version == '12.4(6)XT1') flag++;
else if (version == '12.4(6)XT') flag++;
else if (version == '12.4(15)XQ') flag++;
else if (version == '12.4(15)XN') flag++;
else if (version == '12.4(15)XM') flag++;
else if (version == '12.4(15)XL1') flag++;
else if (version == '12.4(15)XL') flag++;
else if (version == '12.4(11)XJ4') 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(6)XE3') 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)XD9') flag++;
else if (version == '12.4(4)XD8') flag++;
else if (version == '12.4(4)XD7') 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)XD10') flag++;
else if (version == '12.4(4)XD1') flag++;
else if (version == '12.4(4)XD') flag++;
else if (version == '12.4(4)XC7') 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)XB6') 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(15)T5') flag++;
else if (version == '12.4(15)T4') flag++;
else if (version == '12.4(15)T3') flag++;
else if (version == '12.4(15)T2') flag++;
else if (version == '12.4(15)T1') flag++;
else if (version == '12.4(15)T') flag++;
else if (version == '12.4(11)T4') flag++;
else if (version == '12.4(11)T3') flag++;
else if (version == '12.4(11)T2') flag++;
else if (version == '12.4(11)T1') flag++;
else if (version == '12.4(11)T') flag++;
else if (version == '12.4(9)T7') flag++;
else if (version == '12.4(9)T6') flag++;
else if (version == '12.4(9)T5') flag++;
else if (version == '12.4(9)T4') flag++;
else if (version == '12.4(9)T3') 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)T9') flag++;
else if (version == '12.4(6)T8') 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)T11') flag++;
else if (version == '12.4(6)T10') flag++;
else if (version == '12.4(6)T1') flag++;
else if (version == '12.4(6)T') flag++;
else if (version == '12.4(4)T8') 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)T6') 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(15)SW1') flag++;
else if (version == '12.4(15)SW') flag++;
else if (version == '12.4(11)SW3') 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(16)MR2') flag++;
else if (version == '12.4(16)MR1') flag++;
else if (version == '12.4(16)MR') flag++;
else if (version == '12.4(12)MR2') flag++;
else if (version == '12.4(11)MD4') flag++;
else if (version == '12.4(11)MD3') flag++;
else if (version == '12.4(11)MD2') flag++;
else if (version == '12.4(11)MD1') flag++;
else if (version == '12.4(11)MD') flag++;
else if (version == '12.4(19)') flag++;
else if (version == '12.4(18a)') flag++;
else if (version == '12.4(18)') flag++;
else if (version == '12.4(17b)') flag++;
else if (version == '12.4(17a)') flag++;
else if (version == '12.4(17)') flag++;
else if (version == '12.4(16b)') flag++;
else if (version == '12.4(16a)') flag++;
else if (version == '12.4(16)') flag++;
else if (version == '12.4(13f)') flag++;
else if (version == '12.4(13e)') flag++;
else if (version == '12.4(13d)') flag++;
else if (version == '12.4(13c)') flag++;
else if (version == '12.4(13b)') flag++;
else if (version == '12.4(13a)') flag++;
else if (version == '12.4(13)') flag++;
else if (version == '12.4(12c)') flag++;
else if (version == '12.4(12b)') flag++;
else if (version == '12.4(12a)') flag++;
else if (version == '12.4(12)') flag++;
else if (version == '12.4(10c)') 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(8d)') 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(7h)') flag++;
else if (version == '12.4(7g)') flag++;
else if (version == '12.4(7f)') flag++;
else if (version == '12.4(7e)') 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(5c)') 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(3j)') flag++;
else if (version == '12.4(3i)') flag++;
else if (version == '12.4(3h)') 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)YZ2') flag++;
else if (version == '12.3(11)YZ1') flag++;
else if (version == '12.3(11)YZ') flag++;
else if (version == '12.3(14)YX9') flag++;
else if (version == '12.3(14)YX8') flag++;
else if (version == '12.3(14)YX7') 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)YX11') flag++;
else if (version == '12.3(14)YX10') 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)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(11)YK3') 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(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)YG6') 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)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(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(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)XR7') 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)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)XI2') flag++;
else if (version == '12.3(7)XI10a') 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)XC5') 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)XA7') flag++;
else if (version == '12.3(2)XA6') 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)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)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(1a)BW') 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(26)') flag++;
else if (version == '12.3(25)') flag++;
else if (version == '12.3(24a)') flag++;
else if (version == '12.3(24)') flag++;
else if (version == '12.3(23)') 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(19a)') flag++;
else if (version == '12.3(19)') flag++;
else if (version == '12.3(18a)') flag++;
else if (version == '12.3(18)') flag++;
else if (version == '12.3(17c)') 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(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)ZH9') 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)ZH11') flag++;
else if (version == '12.2(13)ZH10') 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(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)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(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(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(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(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)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)XG1') flag++;
else if (version == '12.2(2)XG') 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)XB11') flag++;
else if (version == '12.2(8)TPC10c') flag++;
else if (version == '12.2(8)TPC10b') 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)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)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)T1') flag++;
else if (version == '12.2(2)T') flag++;
else if (version == '12.2(12h)M1') flag++;
else if (version == '12.2(12b)M1') 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(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(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(46a)') flag++;
else if (version == '12.2(46)') flag++;
else if (version == '12.2(40a)') flag++;
else if (version == '12.2(40)') flag++;
else if (version == '12.2(37)') flag++;
else if (version == '12.2(34a)') flag++;
else if (version == '12.2(34)') flag++;
else if (version == '12.2(32)') flag++;
else if (version == '12.2(31)') flag++;
else if (version == '12.2(29b)') flag++;
else if (version == '12.2(29a)') flag++;
else if (version == '12.2(29)') flag++;
else if (version == '12.2(28d)') flag++;
else if (version == '12.2(28c)') flag++;
else if (version == '12.2(28b)') flag++;
else if (version == '12.2(28a)') flag++;
else if (version == '12.2(28)') flag++;
else if (version == '12.2(27c)') flag++;
else if (version == '12.2(27b)') flag++;
else if (version == '12.2(27a)') flag++;
else if (version == '12.2(27)') flag++;
else if (version == '12.2(26c)') flag++;
else if (version == '12.2(26b)') flag++;
else if (version == '12.2(26a)') flag++;
else if (version == '12.2(26)') flag++;
else if (version == '12.2(24b)') flag++;
else if (version == '12.2(24a)') flag++;
else if (version == '12.2(24)') flag++;
else if (version == '12.2(23f)') flag++;
else if (version == '12.2(23e)') flag++;
else if (version == '12.2(23d)') flag++;
else if (version == '12.2(23c)') flag++;
else if (version == '12.2(23a)') flag++;
else if (version == '12.2(23)') flag++;
else if (version == '12.2(21b)') flag++;
else if (version == '12.2(21a)') flag++;
else if (version == '12.2(21)') flag++;
else if (version == '12.2(19c)') flag++;
else if (version == '12.2(19b)') flag++;
else if (version == '12.2(19a)') flag++;
else if (version == '12.2(19)') flag++;
else if (version == '12.2(17f)') flag++;
else if (version == '12.2(17e)') flag++;
else if (version == '12.2(17d)') flag++;
else if (version == '12.2(17b)') flag++;
else if (version == '12.2(17a)') flag++;
else if (version == '12.2(17)') flag++;
else if (version == '12.2(16f)') flag++;
else if (version == '12.2(16c)') flag++;
else if (version == '12.2(16b)') flag++;
else if (version == '12.2(16a)') flag++;
else if (version == '12.2(16)') flag++;
else if (version == '12.2(13e)') flag++;
else if (version == '12.2(13c)') flag++;
else if (version == '12.2(13b)') flag++;
else if (version == '12.2(13a)') flag++;
else if (version == '12.2(13)') flag++;
else if (version == '12.2(12m)') flag++;
else if (version == '12.2(12l)') flag++;
else if (version == '12.2(12k)') flag++;
else if (version == '12.2(12j)') flag++;
else if (version == '12.2(12i)') flag++;
else if (version == '12.2(12h)') flag++;
else if (version == '12.2(12g)') flag++;
else if (version == '12.2(12f)') flag++;
else if (version == '12.2(12e)') flag++;
else if (version == '12.2(12c)') flag++;
else if (version == '12.2(12b)') flag++;
else if (version == '12.2(12a)') flag++;
else if (version == '12.2(12)') flag++;
else if (version == '12.2(10g)') flag++;
else if (version == '12.2(10d)') flag++;
else if (version == '12.2(10b)') flag++;
else if (version == '12.2(10a)') flag++;
else if (version == '12.2(10)') flag++;
else if (version == '12.2(7g)') flag++;
else if (version == '12.2(7c)') flag++;
else if (version == '12.2(7b)') flag++;
else if (version == '12.2(7a)') flag++;
else if (version == '12.2(7)') flag++;
else if (version == '12.2(6j)') flag++;
else if (version == '12.2(6i)') flag++;
else if (version == '12.2(6h)') flag++;
else if (version == '12.2(6g)') flag++;
else if (version == '12.2(6f)') flag++;
else if (version == '12.2(6e)') flag++;
else if (version == '12.2(6d)') flag++;
else if (version == '12.2(6c)') flag++;
else if (version == '12.2(6b)') flag++;
else if (version == '12.2(6a)') flag++;
else if (version == '12.2(6)') flag++;
else if (version == '12.2(5d)') flag++;
else if (version == '12.2(5a)') flag++;
else if (version == '12.2(5)') flag++;
else if (version == '12.2(3g)') flag++;
else if (version == '12.2(3d)') flag++;
else if (version == '12.2(3b)') flag++;
else if (version == '12.2(3)') flag++;
else if (version == '12.2(1d)') flag++;
else if (version == '12.2(1c)') flag++;
else if (version == '12.2(1b)') flag++;
else if (version == '12.2(1a)') flag++;
else if (version == '12.2(1)') flag++;
else if (version == '12.1(5)T9') flag++;
else if (version == '12.1(5)T8') flag++;
else if (version == '12.1(5)T7') flag++;
else if (version == '12.1(5)T6') flag++;
else if (version == '12.1(5)T5') flag++;
else if (version == '12.1(5)T4') flag++;
else if (version == '12.1(5)T20') flag++;
else if (version == '12.1(5)T2') flag++;
else if (version == '12.1(5)T19') flag++;
else if (version == '12.1(5)T18') flag++;
else if (version == '12.1(5)T17') flag++;
else if (version == '12.1(5)T15') flag++;
else if (version == '12.1(5)T12') flag++;
else if (version == '12.1(5)T10') flag++;
else if (version == '12.1(5)T') flag++;
else if (version == '12.1(3)T') flag++;
else if (version == '12.1(2)T') flag++;
else if (version == '12.1(1)T') flag++;
else if (version == '12.1(27b)') flag++;
else if (version == '12.1(27a)') flag++;
else if (version == '12.1(27)') flag++;
else if (version == '12.1(26)') flag++;
else if (version == '12.1(25)') flag++;
else if (version == '12.1(24)') flag++;
else if (version == '12.1(22c)') flag++;
else if (version == '12.1(22b)') flag++;
else if (version == '12.1(22a)') flag++;
else if (version == '12.1(22)') flag++;
else if (version == '12.1(21)') flag++;
else if (version == '12.1(20a)') flag++;
else if (version == '12.1(20)') flag++;
else if (version == '12.1(19)') flag++;
else if (version == '12.1(18)') flag++;
else if (version == '12.1(17a)') flag++;
else if (version == '12.1(17)') flag++;
else if (version == '12.1(16)') flag++;
else if (version == '12.1(15)') flag++;
else if (version == '12.1(14)') flag++;
else if (version == '12.1(13a)') flag++;
else if (version == '12.1(13)') flag++;
else if (version == '12.1(12b)') flag++;
else if (version == '12.1(12a)') flag++;
else if (version == '12.1(12)') flag++;
else if (version == '12.1(11b)') flag++;
else if (version == '12.1(11)') flag++;
else if (version == '12.1(10a)') flag++;
else if (version == '12.1(10)') flag++;
else if (version == '12.1(9a)') flag++;
else if (version == '12.1(9)') flag++;
else if (version == '12.1(8a)') flag++;
else if (version == '12.1(8)') flag++;
else if (version == '12.1(7c)') flag++;
else if (version == '12.1(7b)') flag++;
else if (version == '12.1(7)') flag++;
else if (version == '12.1(6b)') flag++;
else if (version == '12.1(6a)') flag++;
else if (version == '12.1(6)') flag++;
else if (version == '12.1(5e)') flag++;
else if (version == '12.1(5c)') flag++;
else if (version == '12.1(5b)') flag++;
else if (version == '12.1(5a)') flag++;
else if (version == '12.1(5)') flag++;
else if (version == '12.1(4c)') flag++;
else if (version == '12.1(4b)') flag++;
else if (version == '12.1(4a)') flag++;
else if (version == '12.1(3b)') flag++;
else if (version == '12.1(3)') flag++;
else if (version == '12.1(2b)') flag++;
else if (version == '12.1(2)') flag++;
else if (version == '12.1(1c)') flag++;
else if (version == '12.1(1)') flag++;
else if (version == '12.0(7)XK1') flag++;
else if (version == '12.0(7)XK') flag++;
else if (version == '12.0(7)T3') flag++;
else if (version == '12.0(7)T2') flag++;
else if (version == '12.0(7)T') flag++;
else if (version == '12.0(5)T') flag++;
else if (version == '12.0(4)T') flag++;
else if (version == '12.0(3)T2') flag++;
else if (version == '12.0(3)T') 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:"ip dns server", multiline:TRUE, string:buf)) { flag = 1; }
    } else if (cisco_needs_enable(buf)) { flag = 1; override = 1; }
  }
}

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