<?xml version="1.0" encoding="utf-8"?><Weakness_Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Catalog_Name="CWE" Catalog_Version="0.9" xsi:noNamespaceSchemaLocation="http://cwe.mitre.org/data/xsd/cwe_schema_v3.0.xsd">
	<Views>
		<View View_ID="1000" View_Name="Natural Hierarchy" View_Status="Draft">
			<View_Type>Graph</View_Type>
			<View_Objective>This view (graph) attempts to classify weaknesses based on their inherent characteristics, in a way that is as independent of particular languages, technologies, and frameworks as possible.  Ideally, it will only cover weakness-to-weakness relationships, with minimal overlap.  Its development is borrowing from - and contributing to - vulnerability theory, which will help CWE become more consistent.  Once stable, this hierarchy should be useful in mapping to CWE and identifying theoretical gaps.</View_Objective>
		</View>
		<View View_ID="2000" View_Name="Comprehensive CWE Dictionary" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) covers all the elements in CWE.</View_Objective>
			<View_Filter>true()</View_Filter>
		</View>
		<View View_ID="604" View_Name="Deprecated" View_Status="Draft">
			<View_Type>Explicit_Slice</View_Type>
			<View_Objective>CWE nodes in this view (slice) have been deprecated. There should be a reference pointing to the replacement in each deprecated weakness.</View_Objective>
		</View>
		<View View_ID="629" View_Name="Weaknesses in OWASP Top Ten" View_Status="Draft">
			<View_Type>Explicit_Slice</View_Type>
			<View_Objective>CWE nodes in this view (slice) are associated with the OWASP Top Ten.</View_Objective>
		</View>
		<View View_ID="630" View_Name="Weaknesses Examined by SAMATE" View_Status="Draft">
			<View_Type>Explicit_Slice</View_Type>
			<View_Objective>CWE nodes in this view (slice) are being focused on by SAMATE.</View_Objective>
			<View_Origin>http://samate.nist.gov/index.php/Source_Code_Security_Analysis</View_Origin>
		</View>
		<View View_ID="631" View_Name="Resource-specific Weaknesses" View_Status="Draft">
			<View_Type>Graph</View_Type>
			<View_Objective>CWE nodes in this view (graph) occur when the application handles particular system resources.</View_Objective>
		</View>
		<View View_ID="635" View_Name="Weaknesses Used by NVD" View_Status="Draft">
			<View_Type>Explicit_Slice</View_Type>
			<View_Objective>CWE nodes in this view (slice) are used by NIST to categorize vulnerabilities within NVD.</View_Objective>
		</View>
		<View View_ID="658" View_Name="Weaknesses found in the C Language" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) covers issues that are found in C that are not common to all languages.</View_Objective>
			<View_Filter>.//Applicable_Platforms/Platform='C'</View_Filter>
		</View>
		<View View_ID="659" View_Name="Weaknesses found in the C++ Language" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) covers issues that are found in C++ that are not common to all languages.</View_Objective>
			<View_Filter>.//Applicable_Platforms/Platform='C++'</View_Filter>
		</View>
		<View View_ID="660" View_Name="Weaknesses found in the Java Language" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) covers issues that are found in Java that are not common to all languages.</View_Objective>
			<View_Filter>.//Applicable_Platforms/Platform='Java'</View_Filter>
		</View>
		<View View_ID="661" View_Name="Weaknesses found in the PHP Language" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) covers issues that are found in PHP that are not common to all languages.</View_Objective>
			<View_Filter>.//Applicable_Platforms/Platform='PHP'</View_Filter>
		</View>
		<View View_ID="677" View_Name="Weakness Base Elements" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) displays only weakness base elements.</View_Objective>
			<View_Filter>.//@Weakness_Abstraction='Base'</View_Filter>
		</View>
		<View View_ID="678" View_Name="Composites" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) displays only composite weaknesses.</View_Objective>
			<View_Filter>.//@Compound_Element_Structure='Composite'</View_Filter>
		</View>
		<View View_ID="679" View_Name="Chain Elements" View_Status="Draft">
			<View_Type>Implicit_Slice</View_Type>
			<View_Objective>This view (slice) displays only weakness elements that are part of a chain.</View_Objective>
			<View_Filter>(.//Relationship_Nature='CanPrecede') or (@*[contains(name(),'ID')] = //Relationship_Target_ID[../Relationship_Nature='CanPrecede'])</View_Filter>
		</View>
	</Views>
	<Categories>
	<Category Category_ID="1" Category_Name="Location" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are organized based on which phase they are introduced
				during the software development and deployment process.</Description_Summary>
			</Description>
				<Relationships>
					<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
						<Relationship_Nature>ChildOf</Relationship_Nature>
						<Relationship_Target_ID>1000</Relationship_Target_ID>
					</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="10" Category_Name="ASP.NET Environment Issues" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>ASP.NET framework/language related environment issues with security implications.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>519</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="133" Category_Name="String Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to the creation and modification of strings.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>119</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="136" Category_Name="Type Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are caused by improper data type transformation or improper
				handling of multiple data types.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>19</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="137" Category_Name="Representation Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are introduced when inserting or converting data from one
				representation into another.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>19</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="139" Category_Name="General Special Element Problems" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Every language has its own special elements such as characters and reserved words. The
				following weaknesses (under this category) are expressed in general terms. Technology-specific
				problems that involve special elements, such as cross-site scripting and SQL injection, are
				covered in another CWE node.</Description_Summary>
			</Description>
			<Functional_Area>non-specific, parsing</Functional_Area>
			<Potential_Mitigations>
				<Mitigation>Developers should anticipate that special elements (e.g. delimiters, symbols) will be
					injected into input vectors of their software system. Use an appropriate combination of black
					lists and white lists to ensure only valid and expected input is processed by the
				system.</Mitigation>
			</Potential_Mitigations>
			<Context_Notes>Some of these types of special chars have been observed at one point or another, but
				it's difficult to find suitable examples after the fact. In an attempt to be complete about what
				kinds of "special characters" exist, some types may have been added to this list without any
				publicly reported vulnerability for those types.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>138</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>General Special Element Problems</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="16" Category_Name="Configuration" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are typically introduced during the configuration
				of the software.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>1</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">635</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>635</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="169" Category_Name="Technology-Specific Special Elements" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of special elements within
				particular technologies.</Description_Summary>
			</Description>
			<Potential_Mitigations>
				<Mitigation>Developers should anticipate that technology-specific special elements will be
					injected/removed/manipulated in the input vectors of their software system. Use an appropriate
					combination of black lists and white lists to ensure only valid, expected and appropriate
					input is processed by the system.</Mitigation>
			</Potential_Mitigations>
			<Context_Notes>Note that special elements problems can arise from designs or languages that (1) do not
				separate "code" from "data" or (2) mix meta-information with information.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>138</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Technology-Specific Special Elements</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="17" Category_Name="Code" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are typically introduced during code development, including
				specification, design, and implementation.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>1</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="171" Category_Name="Cleansing, Canonicalization, and Comparison Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of data within protection
				mechanisms that attempt to perform sanity checks for untrusted data.</Description_Summary>
			</Description>
			<Potential_Mitigations>
				<Mitigation>Avoid making decisions based on names of resources (e.g. files) if those resources can
					have alternate names.</Mitigation>
				<Mitigation>Assume all input is malicious. Use an appropriate combination of black lists and white
					lists to ensure only valid, expected and appropriate input is processed by the system. For
					example, valid input may be in the form of an absolute pathname(s). You can also limit
					pathnames to exist on selected drives, have the format specified to include only separator
					characters (forward or backward slashes) and alphanumeric characters, and follow a naming
					convention such as having a maximum of 32 characters followed by a '.' and ending with
					specified extensions.</Mitigation>
				<Mitigation>Canonicalize the name to match that of the file system's representation of the name.
					This can sometimes be achieved with an available API (e.g. in Win32 the GetFullPathName
					function).</Mitigation>
			</Potential_Mitigations>
			<References>
				<Reference>
					<Reference_Author>M. Howard</Reference_Author>
					<Reference_Author>D. LeBlanc</Reference_Author>
					<Reference_Title>Writing Secure Code</Reference_Title>
					<Reference_Edition>2nd Edition</Reference_Edition>
					<Reference_Publisher>Microsoft</Reference_Publisher>
					<Reference_PubDate>2003</Reference_PubDate>
				</Reference>
			</References>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>137</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID>1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>CanPrecede</Relationship_Nature>
					<Relationship_Target_ID>289</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Cleansing, Canonicalization, and Comparison Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
			<Related_Attack_Patterns>
				<Related_Attack_Pattern>
					<CAPEC_ID>80<!--Using UTF-8 Encoding to Bypass Validation Logic--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>79<!--Using Slashes in Alternate Encoding--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>71<!--Using Unicode Encoding to Bypass Validation Logic--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>53<!--Postfix, Null Terminate, and Backslash--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>72<!--URL Encoding--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>64<!--Using Slashes and URL Encoding Combined to Bypass Validation Logic--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>3<!--Using Leading 'Ghost' Character Sequences to Bypass Input Filters--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>78<!--Using Escaped Slashes in Alternate Encoding--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>52<!--Embedding NULL Bytes--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>43<!--Exploiting Multiple Input Interpretation Layers--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Category>
	<Category Category_ID="18" Category_Name="Source Code" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are typically found within source code.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>17</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="Landwehr">
				<Original_Node_Name>Source Code</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="189" Category_Name="Numeric Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper calculation or conversion
				of numbers.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>19</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">635</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>635</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Numeric Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="19" Category_Name="Data Handling" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are typically found in functionality that processes data.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>18</Relationship_Target_ID>
				</Relationship>
				</Relationships>
				<Related_Attack_Patterns>
					<Related_Attack_Pattern>
					<CAPEC_ID>100<!--Overflow Buffers--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>99<!--XML Parser Attack--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Category>
	<Category Category_ID="192" Category_Name="Integer Coercion Error" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Integer coercion refers to a set of flaws pertaining to the type casting, extension, or
				truncation of primitive data types.</Description_Summary>
			</Description>
			<Likelihood_of_Exploit>Medium</Likelihood_of_Exploit>
			<Common_Consequences>
				<Common_Consequence>Availability: Integer coercion often leads to undefined states of execution
					resulting in infinite loops or crashes.</Common_Consequence>
				<Common_Consequence>Access Control: In some cases, integer coercion errors can lead to exploitable
					buffer overflow conditions, resulting in the execution of arbitrary code.</Common_Consequence>
				<Common_Consequence>Integrity: Integer coercion errors result in an incorrect value being stored
					for the variable in question.</Common_Consequence>
			</Common_Consequences>
			<Potential_Mitigations>
				<Mitigation>Requirements specification: A language which throws exceptions on ambiguous data casts
					might be chosen.</Mitigation>
				<Mitigation>Design: Design objects and program flow such that multiple or complex casts are
					unnecessary</Mitigation>
				<Mitigation>Implementation: Ensure that any data type casting that you must used is entirely
					understood in order to reduce the plausibility of error in use.</Mitigation>
			</Potential_Mitigations>
			<Demonstrative_Example>
				<Example_Code>
					<PreText>See the Examples section of the problem type Unsigned to signed conversion error for
						an example of integer coercion errors.</PreText>
				</Example_Code>
			</Demonstrative_Example>
			<Context_Notes>Several flaws fall under the category of integer coercion errors. For the most part,
				these errors in and of themselves result only in availability and data integrity issues. However,
				in some circumstances, they may result in other, more complicated security related flaws, such as
				buffer overflow conditions.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>189</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID>1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>CanAlsoBe</Relationship_Nature>
					<Relationship_Target_ID>195</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID>1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>CanAlsoBe</Relationship_Nature>
					<Relationship_Target_ID>196</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID>1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>CanAlsoBe</Relationship_Nature>
					<Relationship_Target_ID>197</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID>1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>CanAlsoBe</Relationship_Nature>
					<Relationship_Target_ID>194</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="CLASP">
				<Original_Node_Name>Integer coercion error</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>C</Platform>
				<Platform>C++</Platform>
				<Platform>Java</Platform>
				<Platform>.NET</Platform>
			</Applicable_Platforms>
			<Time_of_Introduction>Implementation</Time_of_Introduction>
		</Common_Attributes>
	</Category>
	<Category Category_ID="199" Category_Name="Information Management Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of sensitive information.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>19</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="2" Category_Name="Environment" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are typically introduced during unexpected environmental
				conditions.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>1</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="251" Category_Name="Often Misused: String Management" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Functions that manipulate strings encourage buffer overflows.</Description_Summary>
			</Description>
			<Affected_Resource>Memory</Affected_Resource>
			<Demonstrative_Example>
				<Example_Code>
					<PreText>Windows provides the _mbs family of functions to perform various operations on
						multibyte strings. When these functions are passed a malformed multibyte string, such as a
						string containing a valid leading byte followed by a single null byte, they can read or
						write past the end of the string buffer causing a buffer overflow. The following functions
						all pose a risk of buffer overflow: _mbsinc _mbsdec _mbsncat _mbsncpy _mbsnextc _mbsnset
						_mbsrev _mbsset _mbsstr _mbstok _mbccpy _mbslen </PreText>
				</Example_Code>
			</Demonstrative_Example>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>133</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">630</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>630</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">631</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>633</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Often Misused: Strings</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>C</Platform>
				<Platform>C++</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="254" Category_Name="Security Features" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Software security is not security software. Here we're concerned with topics like
				authentication, access control, confidentiality, cryptography, and privilege management.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>18</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Security Features</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="255" Category_Name="Credentials Management" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to the management of credentials.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>254</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">635</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>635</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="264" Category_Name="Permissions, Privileges, and Access Controls" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to the management of permissions,
				privileges, and other security features that are used to perform access control.</Description_Summary>
			</Description>
			<Potential_Mitigations>
				<Mitigation>Follow the principle of least privilege when assigning access rights to
					entities in a software system. </Mitigation>
			</Potential_Mitigations>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>254</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">635</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>635</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Permissions, Privileges, and ACLs</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
			<Related_Attack_Patterns>
				<Related_Attack_Pattern>
					<CAPEC_ID>35<!--Leverage Executable Code in Nonexecutable Files--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>17<!--Accessing, Modifying or Executing Executable Files--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>76<!--Manipulating Input to File System Calls--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>58<!--Restful Privilege Elevation--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>5<!--Analog In-band Switching Signals (aka Blue Boxing)--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>69<!--Target Programs with Elevated Privileges--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Category>
	<Category Category_ID="265" Category_Name="Privilege / Sandbox Issues" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>A variety of vulnerabilities occur with improper handling, assignment, or management of
				privileges. These are especially present in sandbox environments, although it could be argued that
				any privilege problem occurs within the context of some sort of sandbox. Note: can heavily overlap
				authorization errors</Description_Summary>
			</Description>
			<Potential_Mitigations>
				<Mitigation>Very carefully manage the setting, management and handling of privileges. Explicitly
					manage trust zones in the software.</Mitigation>
				<Mitigation>Follow the principle of least privilege when assigning access rights to entities in a
					software system. </Mitigation>
			</Potential_Mitigations>
			<Research_Gaps>Many of the following concepts require deeper study. Most privilege problems are not
				classified at such a low level of detail, and terminology is very sparse. Certain classes of
				software, such as web browsers and software bug trackers, provide a rich set of examples for
				further research; operating systems have matured to the point that these kinds of weaknesses are
				rare.</Research_Gaps>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>264</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Privilege / sandbox errors</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="275" Category_Name="Permission Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper assignment or handling of
			permissions.</Description_Summary>
			</Description>
			<Functional_Area>File processing, non-specific.</Functional_Area>
			<Affected_Resource>File/Directory</Affected_Resource>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>264</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">631</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>632</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Permission errors</Original_Node_Name>
			</Source_Taxonomy>
			<Related_Attack_Patterns>
				<Related_Attack_Pattern>
					<CAPEC_ID>35<!--Leverage Executable Code in Nonexecutable Files--></CAPEC_ID>
				</Related_Attack_Pattern>
				<Related_Attack_Pattern>
					<CAPEC_ID>17<!--Accessing, Modifying or Executing Executable Files--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Category>
	<Category Category_ID="295" Category_Name="Certificate Issues" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>A certificate is a token that associates an identity (principle) to a cryptographic key.
				Certificates can be used to check if a public key belongs to the assumed owner. Certificates
				should be carefully managed and checked to assure that data are encrypted with the intended
				owner's public key.</Description_Summary>
			</Description>
			<References>
				<Reference>
					<Reference_Author>M. Bishop</Reference_Author>
					<Reference_Title>Computer Security: Art and Science</Reference_Title>
					<Reference_Publisher>Addison-Wesley</Reference_Publisher>
					<Reference_PubDate>2003</Reference_PubDate>
				</Reference>
			</References>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>287</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="3" Category_Name="Technology-specific Environment Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are typically introduced during unexpected environmental
				conditions in particular technologies.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>2</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="310" Category_Name="Cryptographic Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to the use of cryptography.</Description_Summary>
			</Description>
			<Functional_Area>Cryptography</Functional_Area>
			<Context_Notes>This category is incomplete and needs refinement, as there is good
				documentation of cryptographic flaws and related attacks.</Context_Notes>
			<Context_Notes>Note: some of these can be resultant.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>254</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">635</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>635</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Cryptographic Issues</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="320" Category_Name="Key Management Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to errors in the management of cryptographic
				keys.</Description_Summary>
			</Description>
			<Observed_Examples>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-2146</Observed_Example_Reference>
					<Observed_Example_Description>insecure permissions when generating secret key, allowing spoofing</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2001-1527</Observed_Example_Reference>
					<Observed_Example_Description>administration passwords in cleartext in executable</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2000-0762</Observed_Example_Reference>
					<Observed_Example_Description>default installation of product uses a default encryption key,
						allowing others to spoof the administrator</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2002-1947</Observed_Example_Reference>
					<Observed_Example_Description>static key / global shared key -- "global shared key" - product uses same SSL key for
						all installations, allowing attackers to eavesdrop or hijack session.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-4002</Observed_Example_Reference>
					<Observed_Example_Description>static key / global shared key -- "global shared key" - product uses same secret key
						for all installations, allowing attackers to decrypt data.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-2196</Observed_Example_Reference>
					<Observed_Example_Description>static key / global shared key -- Product uses default WEP key when not connected to
						a known or trusted network, which can cause it to automatically connect to a malicious
						network. Overlaps: default.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-1794</Observed_Example_Reference>
					<Observed_Example_Description>Exposed or accessible private key (overlaps information leak) -- Private key stored
						in executable</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2001-0072</Observed_Example_Reference>
					<Observed_Example_Description>Exposed or accessible private key (overlaps information leak) -- Crypto program
						imports both public and private keys but does not tell the user about the private keys,
						possibly breaking the web of trust.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-3256</Observed_Example_Reference>
					<Observed_Example_Description>Misc -- Encryption product accidentally selects the wrong key if the key doesn't have
						additional fields that are normally expected, leading to infoleak to the owner of that wrong
						key</Observed_Example_Description>
				</Observed_Example>
			</Observed_Examples>
			<Context_Notes>This category should probably be split into multiple sub-categories.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>310</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Key Management Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="355" Category_Name="User Interface Security Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to or introduced in the User Interface (UI).</Description_Summary>
			</Description>
			<Research_Gaps>User interface errors that are relevant to security have not been studied at a high
				level.</Research_Gaps>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>254</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>(UI) User Interface Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="361" Category_Name="Time and State" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Distributed computation is about time and state. That is, in order for more than one
				component to communicate, state must be shared, and all that takes time. Most programmers
				anthropomorphize their work. They think about one thread of control carrying out the entire
				program in the same way they would if they had to do the job themselves. Modern computers,
				however, switch between tasks very quickly, and in multi-core, multi-CPU, or distributed systems,
				two events may take place at exactly the same time. Defects rush to fill the gap between the
				programmer's model of how a program executes and what happens in reality. These defects are
				related to unexpected interactions between threads, processes, time, and information. These
				interactions happen through shared state: semaphores, variables, the file system, and, basically,
				anything that can store information.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>18</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Time and State</Original_Node_Name>
			</Source_Taxonomy>
			<Related_Attack_Patterns>
				<Related_Attack_Pattern>
					<CAPEC_ID>61<!--Session Fixation--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Category>
	<Category Category_ID="371" Category_Name="State Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper management of system state.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>361</Relationship_Target_ID>
				</Relationship>
				</Relationships>
				<Related_Attack_Patterns>
					<Related_Attack_Pattern>
					<CAPEC_ID>74<!--Manipulating User State--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Category>
	<Category Category_ID="376" Category_Name="Temporary File Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of temporary files.</Description_Summary>
			</Description>
			<Affected_Resource>File/Directory</Affected_Resource>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>361</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">631</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>632</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="380" Category_Name="Technology-Specific Time and State Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of time or state within
				particular technologies.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>361</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="381" Category_Name="J2EE Time and State Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of time or state within
				J2EE.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>380</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="388" Category_Name="Error Handling" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Error handling problems occur when an application does not properly handle errors that
				occur during processing. An attacker may discover this type of error, as forcing these errors can
				occur with a variety of corrupt input.</Description_Summary>
			</Description>
			<Common_Consequences>
				<Common_Consequence>Generally, the consequences of improper error handling are the disclosure of
					the internal workings of the application to the attacker, providing details to use in further
					attacks. Web applications that do not properly handle error conditions frequently generate
					error messages such as stack traces, detailed diagnostics, and other inner details of the
					application. </Common_Consequence>
			</Common_Consequences>
			<Potential_Mitigations>
				<Mitigation>Use a standard exception handling mechanism to be sure that your application properly
					handles all types of processing errors. All error messages sent to the user should contain as
					little detail as necessary to explain what happened.</Mitigation>
				<Mitigation>If the error was caused by unexpected and likely malicious input, it may be
					appropriate to send the user no error message other than a simple "could not process the
					request" response.</Mitigation>
				<Mitigation>The details of the error and its cause should be recorded in a detailed diagnostic log
					for later analysis. Do not allow the application to throw errors up to the application
					container, generally the web application server.</Mitigation>
				<Mitigation>Be sure that the container is properly configured to handle errors if you choose to
					let any errors propagate up to it.</Mitigation>
			</Potential_Mitigations>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>18</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Error Handling</Original_Node_Name>
			</Source_Taxonomy>
			<Related_Attack_Patterns>
				<Related_Attack_Pattern>
					<CAPEC_ID>28<!--Fuzzing--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Category>
	<Category Category_ID="389" Category_Name="Error Conditions, Return Values, Status Codes" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>If a function in a product does not generate the correct return/status codes, or if the
				product does not handle all possible return/status codes that could be generated by a function,
				then security issues may result. This type of problem is most often found in conditions that are
				rarely encountered during the normal operation of the product. Presumably, most bugs related to
				common conditions are found and eliminated during development and testing. In some cases, the
				attacker can directly control or influence the environment to trigger the rare conditions.</Description_Summary>
			</Description>
			<Context_Notes>This category is often primary to a variety of other weaknesses.</Context_Notes>
			<Research_Gaps>Many researchers focus on the resultant weaknesses and do not necessarily diagnose
				whether a rare condition is the primary factor. However,
	 since 2005 it seems to be reported more
				frequently than in the past. This subject needs more study.</Research_Gaps>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>388</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Error Conditions, Return Values, Status Codes</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="399" Category_Name="Resource Management Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper management of system
				resources.</Description_Summary>
			</Description>
			<Context_Notes>Resource management errors can lead to consumption, exhaustion, etc.</Context_Notes>
			<Context_Notes>Often a resultant vulnerability</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">635</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>635</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Resource Management Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="4" Category_Name="J2EE Environment Issues" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>J2EE framework related environment issues with security implications.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>3</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="411" Category_Name="Resource Locking Problems" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of locks that are used to
				control access to resources.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>399</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Resource Locking problems</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="417" Category_Name="Channel and Path Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of communication channels
				and access paths.</Description_Summary>
			</Description>
			<Context_Notes>A number of vulnerabilities are specifically related to problems in creating, managing,
				or removing alternate channels and alternate paths. Some of these can overlap virtual file
				problems (CHAP.VIRTFILE), and they can are commonly used in "bypass" attacks, such as those that
				exploit authentication errors. </Context_Notes>
			<Research_Gaps>Most of these issues are probably under-studied. Only a handful of public reports
				exist.</Research_Gaps>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Channel and Path Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="418" Category_Name="Channel Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of communication channels.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>417</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Channel Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="429" Category_Name="Handler Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper management of handlers.</Description_Summary>
			</Description>
			<Context_Notes>May be resultant</Context_Notes>
			<Research_Gaps>This concept is under-defined and needs more research.</Research_Gaps>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Handler Errors</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="438" Category_Name="Behavioral Problems" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to unexpected behaviors from code that an
				application uses.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>435</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Behavioral problems</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="442" Category_Name="Web Problems" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category involve interaction errors that are specific to WWW
				technology.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>435</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Web problems</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="445" Category_Name="User Interface Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category occur within the user interface.</Description_Summary>
			</Description>
			<Research_Gaps>User interface errors that are relevant to security have not been studied at a high
				level.</Research_Gaps>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>(UI) User Interface Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="452" Category_Name="Initialization and Cleanup Errors" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category occur in behaviors that are used for initialization and
				breakdown.</Description_Summary>
			</Description>
			<Context_Notes>Most of these initialization errors are significant factors in other weaknesses.
				Researchers tend to ignore these, concentrating instead on the resultant weaknesses, so their
				frequency is uncertain, at least based on published vulnerabilities.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>Initialization and Cleanup Errors</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="461" Category_Name="Data Structure Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of specific data
				structures.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="465" Category_Name="Pointer Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of pointers.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="490" Category_Name="Mobile Code Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are
			frequently found in mobile code.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>485</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="503" Category_Name="Byte/Object Code" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in
			this category are typically found within byte code or object code.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>17</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="Landwehr">
				<Original_Node_Name>Object Code</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="504" Category_Name="Motivation/Intent" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>This category intends to capture the motivations and intentions of
				developers that lead to weaknesses that are found within CWE.</Description_Summary>
			</Description>
				<Relationships>
					<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
						<Relationship_Nature>ChildOf</Relationship_Nature>
						<Relationship_Target_ID>1000</Relationship_Target_ID>
					</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="Landwehr">
				<Original_Node_Name>Genesis</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="505" Category_Name="Intentionally Introduced Weakness" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category were intentionally introduced by the developer, typically as a result of prioritizing other aspects of the program over security, such as maintenance.</Description_Summary>
			<Extended_Description>Characterizing intention is tricky: some features intentionally placed in programs can at
				the same time inadvertently introduce security flaws.  For example, a feature that facilitates remote
				debugging or system maintenance may at the same time provide a trapdoor to a system.  Where such
				cases can be distinguished, they are categorized as intentional but nonmalicious. Not wishing to
				endow programs with intentions, we nevertheless use the terms "malicious flaw," "malicious code,"
				and so on, as shorthand for flaws, code, etc., that have been introduced into a system by an
				individual with malicious intent. Although some malicious flaws could be disguised as inadvertent
				flaws, this distinction can be easy to make in practice. Inadvertently created Trojan horse
				programs are hardly likely, although an intentionally-introduced buffer overflow might plausibly seem to be an error.</Extended_Description>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>504</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="Landwehr">
				<Original_Node_Name>Intentional</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
	<Category Category_ID="513" Category_Name="Intentionally Introduced Nonmalicious Weakness" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Nonmalicious introduction of weaknesses into software can still render it vulnerable to
				various attacks.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>505</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="Landwehr">
				<Original_Node_Name>Nonmalicious</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
		<Category Category_ID="517" Category_Name="Other Intentional, Nonmalicious Weakness" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Other kinds of intentional but nonmalicious security flaws are possible. Functional
				requirements that are written without regard to security requirements can lead to such flaws; one
				of the flaws exploited by the "Internet worm" [3] (case U10) could be placed in this category.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>513</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="Landwehr">
				<Original_Node_Name>Other</Original_Node_Name>
			</Source_Taxonomy>
		</Common_Attributes>
	</Category>
		<Category Category_ID="518" Category_Name="Inadvertently Introduced Weakness" Category_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Inadvertent flaws may occur in requirements; they may also find their way into software
				during specification and coding. Although many of these are detected and removed through testing,
				some flaws can remain undetected and later cause problems during operation and maintenance of the
				software system. For a software system composed of many modules and involving many programmers,
				flaws are often difficult to find and correct because module interfaces are inadequately
				documented and global variables are used. The lack of documentation is especially troublesome
				during maintenance when attempts to fix existing flaws often generate new flaws because
				maintainers lack understanding of the system as a whole. Although inadvertent flaws do not usually
				pose an immediate threat to the security of the system, the weakness resulting from a flaw may be
				exploited by an intruder (see case D1).</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>504</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="Landwehr">
				<Original_Node_Name>Inadvertent</Original_Node_Name>
			</Source_Taxonomy>
			<Time_of_Introduction>Requirements</Time_of_Introduction>
			<Time_of_Introduction>Architecture and Design</Time_of_Introduction>
			<Time_of_Introduction>Implementation</Time_of_Introduction>
		</Common_Attributes>
	</Category>
	<Category Category_ID="519" Category_Name=".NET Environment Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>This category lists weaknesses
			related to environmental problems in .NET framework applications.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>3</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="557" Category_Name="Concurrency Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to concurrent use of shared resources.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>361</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID>1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>CanAlsoBe</Relationship_Nature>
					<Relationship_Target_ID>362</Relationship_Target_ID>
				</Relationship>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID>1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>PeerOf</Relationship_Nature>
					<Relationship_Target_ID>371</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="559" Category_Name="Often Misused: Arguments and Parameters" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper use of arguments or parameters
				within function calls.</Description_Summary>
			</Description>
			<Context_Notes>This category is closely related to CWE-628, Incorrectly Specified Arguments, and might be the same.  However, CWE-628 is a base weakness, not a category.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>227</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="569" Category_Name="Expression Issues" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to incorrectly written expressions within code.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>398</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="60" Category_Name="UNIX Path Link Problems" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of links within
				Unix-based operating systems.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>59</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
				<Original_Node_Name>UNIX Path Link problems</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="63" Category_Name="Windows Path Link Problems" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are related to improper handling of links within
				Windows-based operating systems.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>59</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Category>
	<Category Category_ID="632" Category_Name="Weaknesses that Affect Files or Directories" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category affect file or directory resources.</Description_Summary>
			</Description>
				<Relationships>
					<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">631</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>631</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="633" Category_Name="Weaknesses that Affect Memory" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category affect memory resources.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">631</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>631</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
	<Category Category_ID="634" Category_Name="Weaknesses that Affect System Processes" Category_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category affect system process resources during process invocation or
				inter-process communication (IPC).</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">631</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>View</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>631</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Category>
		<Category Category_ID="68" Category_Name="Windows Virtual File Problems" Category_Status="Draft">
		<Common_Attributes>
				<Description>
					<Description_Summary>Weaknesses in this category are related to improper handling of virtual files within
					Windows-based operating systems.</Description_Summary>
				</Description>
				<Relationships>
					<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
						<Relationship_Nature>ChildOf</Relationship_Nature>
						<Relationship_Target_ID>66</Relationship_Target_ID>
					</Relationship>
				</Relationships>
				<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
					<Original_Node_Name>Windows Virtual File problems</Original_Node_Name>
				</Source_Taxonomy>
				<Applicable_Platforms>
					<Platform>All</Platform>
				</Applicable_Platforms>
		</Common_Attributes>
		</Category>
		<Category Category_ID="70" Category_Name="Mac Virtual File Problems" Category_Status="Draft">
		<Common_Attributes>
				<Description>
					<Description_Summary>Weaknesses in this category are related to improper handling of virtual files within
					Mac-based operating systems.</Description_Summary>
				</Description>
				<Affected_Resource>File/Directory</Affected_Resource>
				<Relationships>
					<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
						<Relationship_Nature>ChildOf</Relationship_Nature>
						<Relationship_Target_ID>66</Relationship_Target_ID>
					</Relationship>
					<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">631</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
						<Relationship_Nature>ChildOf</Relationship_Nature>
						<Relationship_Target_ID>632</Relationship_Target_ID>
					</Relationship>
				</Relationships>
				<Source_Taxonomy Source_Taxonomy_Name="PLOVER">
					<Original_Node_Name>Mac Virtual File problems</Original_Node_Name>
				</Source_Taxonomy>
				<Applicable_Platforms>
					<Platform>All</Platform>
				</Applicable_Platforms>
		</Common_Attributes>
		</Category>	
	</Categories>
	<Weaknesses>
	<Weakness Weakness_ID="100" Weakness_Name="Technology-Specific Input Validation Problems" Weakness_Abstraction="Class" Weakness_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are caused by inadequately implemented input validation
				within particular technologies.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>20</Relationship_Target_ID>
				</Relationship>
				</Relationships>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="101" Weakness_Name="Struts Validation Problems" Weakness_Abstraction="Class" Weakness_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Weaknesses in this category are caused by inadequately implemented protection schemes
				that use the STRUTS framework.</Description_Summary>
			</Description>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>100</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="102" Weakness_Name="Struts: Duplicate Validation Forms" Weakness_Abstraction="Variant" Weakness_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>The application uses multiple validation forms with the same name, which might cause the
				Struts Validator to validate a form that the programmer does not expect. This could introduce
				other weaknesses and indicates that validation logic is not up-to-date.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Demonstrative_Example>
				<Example_Code>
					<PreText> Two validation forms with the same name.</PreText>
					<Example_Block>
						<Example_Code_Block>
							<Code_Block><![CDATA[<formset><form-validation>
							    <form name="ProjectForm"> ... </form>
							    <form name="ProjectForm"> ... </form>
							  </formset>
							</form-validation>]]></Code_Block>
						</Example_Code_Block>
					</Example_Block>
					<PostText>It is critically important that validation logic be maintained and kept in sync with
						the rest of the application.</PostText>
				</Example_Code>
			</Demonstrative_Example>
			<Context_Notes>If two validation forms have the same name, the Struts Validator arbitrarily chooses
				one of the forms to use for input validation and discards the other. This decision might not
				correspond to the programmer's expectations. Moreover, it indicates that the validation logic is
				not being maintained, and can indicate that other, more subtle validation errors are present.
				Unchecked input is the root cause of some of today's worst and most common software security
				problems. Cross-site scripting, SQL injection, and process control vulnerabilities can all stem
				from incomplete or absent input validation. Although J2EE applications are not generally
				susceptible to memory corruption attacks, if a J2EE application interfaces with native code that
				does not perform array bounds checking, an attacker may be able to use an input validation mistake
				in the J2EE application to launch a buffer overflow attack. </Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Duplicate Validation Forms</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="103" Weakness_Name="Struts: Incomplete validate() Method Definition" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>The application has a validator form that either fails to define a validate() method, or
				defines a validate() method but fails to call super.validate(). This could introduce other
				weaknesses related to missing input validation.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Context_Notes>The Struts Validator uses a form's validate() method to check the contents of the form
				properties against the constraints specified in the associated validation form. That means the
				following classes have a validate() method that is part of the validation framework:
				ValidatorForm, ValidatorActionForm, DynaValidatorForm, and DynaValidatorActionForm. If you create
				a class that extends one of these classes, and if your class implements custom validation logic by
				overriding the validate() method, you must call super.validate() in your validate()
				implementation. If you do not, the Validation Framework cannot check the contents of the form
				against a validation form. In other words, the validation framework will be disabled for the given
				form. Disabling the validation framework for a form exposes the application to numerous types of
				attacks. Unchecked input is the root cause of vulnerabilities like cross-site scripting, process
				control, and SQL injection. Although J2EE applications are not generally susceptible to memory
				corruption attacks, if a J2EE application interfaces with native code that does not perform array
				bounds checking, an attacker may be able to use an input validation mistake in the J2EE
				application to launch a buffer overflow attack. </Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Erroneous validate() Method</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="104" Weakness_Name="Struts: Form Bean Does Not Extend Validation Class" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>If a form bean does not extend an ActionForm subclass of the Validator framework, it can
				expose the application to other weaknesses related to insufficient input validation.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Context_Notes>In order to use the Struts Validator, a form must extend one of the following:
				ValidatorForm, ValidatorActionForm, DynaValidatorActionForm, and DynaValidatorForm. You must
				extend one of these classes because the Struts Validator ties in to your application by
				implementing the validate() method in these classes. Forms derived from the ActionForm and
				DynaActionForm classes cannot use the Struts Validator. Bypassing the validation framework for a
				form exposes the application to numerous types of attacks. Unchecked input is an important
				component of vulnerabilities like cross-site scripting, process control, and SQL injection.
				Although J2EE applications are not generally susceptible to memory corruption attacks, if a J2EE
				application interfaces with native code that does not perform array bounds checking, an attacker
				may be able to use an input validation mistake in the J2EE application to launch a buffer overflow
				attack. </Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Form Bean Does Not Extend Validation Class</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="105" Weakness_Name="Struts: Form Field Without Validator" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>The application has a form field that is not validated by a corresponding validation
				form, which can introduce other weaknesses related to insufficient input validation.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Potential_Mitigations>
				<Mitigation>Ensure that you validate all form fields. If a field is unused, it is still important
					to constrain them so that they are empty or undefined.</Mitigation>
			</Potential_Mitigations>
			<Context_Notes>Omitting validation for even a single input field may give attackers the leeway they
				need to compromise your application. Unchecked input is the root cause of some of today's worst
				and most common software security problems. Cross-site scripting, SQL injection, and process
				control vulnerabilities can stem from incomplete or absent input validation. Although J2EE
				applications are not generally susceptible to memory corruption attacks, if a J2EE application
				interfaces with native code that does not perform array bounds checking, an attacker may be able
				to use an input validation mistake in the J2EE application to launch a buffer overflow attack.
				Some applications use the same ActionForm for more than one purpose. In situations like this, some
				fields may go unused under some action mappings. It is critical that unused fields be validated
				too. Preferably, unused fields should be constrained so that they can only be empty or undefined.
				If unused fields are not validated, shared business logic in an action may allow attackers to
				bypass the validation checks that are performed for other uses of the form. </Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Form Field Without Validator</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="106" Weakness_Name="Struts: Plug-in Framework not in Use" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>When an application does not use an input validation framework such as the Struts
				Validator, there is a greater risk of introducing weaknesses related to insufficient input
				validation.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Context_Notes>Unchecked input is the leading cause of vulnerabilities in J2EE applications. Unchecked
				input leads to cross-site scripting, process control, and SQL injection vulnerabilities, among
				others. Although J2EE applications are not generally susceptible to memory corruption attacks, if
				a J2EE application interfaces with native code that does not perform array bounds checking, an
				attacker may be able to use an input validation mistake in the J2EE application to launch a buffer
				overflow attack. To prevent such attacks, use the Struts Validator to check all program input
				before it is processed by the application. Ensure that there are no holes in your configuration of
				the Struts Validator. Example uses of the validator include checking to ensure that: * Phone
				number fields contain only valid characters in phone numbers * Boolean values are only "T" or "F"
				* Free-form strings are of a reasonable length and composition </Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Plug-in Framework Not In Use</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="107" Weakness_Name="Struts: Unused Validation Form" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>An unused validation form indicates that validation logic is not up-to-date.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Resultant (Weakness is typically related to the presence of some other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Context_Notes>It is easy for developers to forget to update validation logic when they remove or
				rename action form mappings. One indication that validation logic is not being properly maintained
				is the presence of an unused validation form.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Unused Validation Form</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="108" Weakness_Name="Struts: Unvalidated Action Form" Weakness_Abstraction="Variant" Weakness_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>Every Action Form must have a corresponding validation form.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Context_Notes>If a Struts Action Form Mapping specifies a form, it must have a validation form
				defined under the Struts Validator. If an action form mapping does not have a validation form
				defined, it may be vulnerable to a number of attacks that rely on unchecked input. Unchecked input
				is the root cause of some of today's worst and most common software security problems. Cross-site
				scripting, SQL injection, and process control vulnerabilities all stem from incomplete or absent
				input validation. Although J2EE applications are not generally susceptible to memory corruption
				attacks, if a J2EE application interfaces with native code that does not perform array bounds
				checking, an attacker may be able to use an input validation mistake in the J2EE application to
				launch a buffer overflow attack. An action or a form may perform validation in other ways, but the
				Struts Validator provides an excellent way to verify that all input receives at least a basic
				level of checking. Without this approach, it is difficult, and often impossible, to establish with
				a high level of confidence that all input is validated. </Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Unvalidated Action Form</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="109" Weakness_Name="Struts: Validator Turned Off" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Automatic filtering via a Struts bean has been turned off, which disables the Struts
				Validator and custom validation logic. This exposes the application to other weaknesses related to
				insufficient input validation.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Potential_Mitigations>
				<Mitigation>Ensure that an action form mapping enables validation.</Mitigation>
			</Potential_Mitigations>
			<Demonstrative_Example>
				<Example_Code>
					<PreText>An action form mapping that disables validation.</PreText>
					<Example_Block>
						<Example_Code_Block>
							<Code_Block><![CDATA[<action path="/download"
					  type="com.website.d2.action.DownloadAction"
					  name="downloadForm"
					  scope="request"
					  input=".download"
					  validate="false">
					</action>]]></Code_Block>
						</Example_Code_Block>
					</Example_Block>
					<PostText>Disabling validation exposes this action to numerous types of attacks. Unchecked
						input is the root cause of vulnerabilities like cross-site scripting, process control, and
						SQL injection. Although J2EE applications are not generally susceptible to memory
						corruption attacks, if a J2EE application interfaces with native code that does not
						perform array bounds checking, an attacker may be able to use an input validation mistake
						in the J2EE application to launch a buffer overflow attack.</PostText>
				</Example_Code>
			</Demonstrative_Example>
			<Context_Notes>The Action Form mapping in the demonstrative example disables the form's validate()
				method. The Struts bean: write tag automatically filters special HTML characters, replacing a
				&lt; with &amp;lt and a &gt; with &amp;gt. This action can be disabled by
				specifying filter="false" as an attribute of the tag to disable specified JSP pages. However,
				being disabled makes these pages susceptible to cross-site scripting attacks. An attacker may be
				able to insert malicious scripts as user input to write to these JSP pages.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Validator Turned Off</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="11" Weakness_Name="ASP.NET Misconfiguration: Creating Debug Binary" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Debugging messages help attackers learn about the system and plan a form of attack.</Description_Summary>
			</Description>
			<Potential_Mitigations>
				<Mitigation>Avoid releasing debug binaries into the production environment.</Mitigation>
			</Potential_Mitigations>
			<Context_Notes>ASP .NET applications can be configured to produce debug binaries. These binaries give
				detailed debugging messages and should not be used in production environments. The debug attribute
				of the &lt;compilation&gt; tag defines whether compiled binaries should include debugging
				information. The use of debug binaries causes an application to provide as much information about
				itself as possible to the user. Debug binaries are meant to be used in a development or testing
				environment and can pose a security risk if they are deployed to production. Attackers can
				leverage the additional information they gain from debugging output to mount attacks targeted on
				the framework, database, or other resources used by the application.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Category</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>10</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>ASP.NET Misconfiguration: Creating Debug Binary</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>.NET</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="110" Weakness_Name="Struts: Validator Without Form Field" Weakness_Abstraction="Variant" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Validation fields that do not appear in forms they are associated with indicate that the
				validation logic is out of date.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Demonstrative_Example>
				<Example_Code>
					<PreText>Example 1.a: An action form with two fields. </PreText>
					<Example_Block>
						<Example_Code_Block>
							<Code_Block><![CDATA[public class DateRangeForm extends ValidatorForm {
					  String startDate, endDate;
					  public void setStartDate(String startDate) {
					    this.startDate = startDate;
					  }
					  public void setEndDate(String endDate) {
					    this.endDate = endDate;
					  }
					}]]></Code_Block>
						</Example_Code_Block>
					</Example_Block>
					<PostText>Example 1.a shows an action form that has two fields, startDate and
					endDate.</PostText>
				</Example_Code>
				<Example_Code>
					<PreText>Example 1.b: A validation form with a third field. </PreText>
					<Example_Block>
						<Example_Code_Block>
							<Code_Block><![CDATA[<form name="DateRangeForm">
					  <field property="startDate" depends="date">
					    <arg0 key="start.date"/>
					  </field>
					  <field property="endDate" depends="date">
					    <arg0 key="end.date"/>
					  </field>
					  <field property="scale" depends="integer">
					    <arg0 key="range.scale"/>
					  </field>
					</form>]]></Code_Block>
						</Example_Code_Block>
					</Example_Block>
					<PostText> Example 1.b lists a validation form for the action form. The validation form lists
						a third field: scale. The presence of the third field suggests that DateRangeForm was
						modified without taking validation into account. </PostText>
				</Example_Code>
			</Demonstrative_Example>
			<Context_Notes>It is easy for developers to forget to update validation logic when they make changes
				to an ActionForm class. One indication that validation logic is not being properly maintained is
				inconsistencies between the action form and the validation form.</Context_Notes>
			<Context_Notes>It is critically important that validation logic be maintained and kept in sync with
				the rest of the application. Unchecked input is the root cause of some of today's worst and most
				common software security problems. Cross-site scripting, SQL injection, and process control
				vulnerabilities all stem from incomplete or absent input validation. Although J2EE applications
				are not generally susceptible to memory corruption attacks, if a J2EE application interfaces with
				native code that does not perform array bounds checking, an attacker may be able to use an input
				validation mistake in the J2EE application to launch a buffer overflow attack.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>101</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Struts: Validator Without Form Field</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="111" Weakness_Name="Direct Use of Unsafe JNI" Weakness_Abstraction="Base" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>When a Java application uses the Java Native Interface (JNI) to call code written in
				another programming language, it can expose the application to weaknesses in that code, even if
				those weaknesses cannot occur in Java.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Demonstrative_Example>
				<Example_Code>
					<PreText>The following code defines a class named Echo. The class declares one native method
						(defined below), which uses C to echo commands entered on the console back to the user.
						class Echo { public native void runEcho(); static { System.loadLibrary("echo"); } public
						static void main(String[] args) { new Echo().runEcho(); } } The following C code defines
						the native method implemented in the Echo class: </PreText>
					<Example_Block>
						<Example_Code_Block>
							<Code_Example_Language>Java</Code_Example_Language>
							<Code_Block><![CDATA[#include <jni.h>
					#include "Echo.h"//the java class above compiled with javah
					#include <stdio.h>
					
					JNIEXPORT void JNICALL 
					Java_Echo_runEcho(JNIEnv *env, jobject obj) 
					{
					  char buf[64]; 
					  gets(buf);
					  printf(buf);
					}]]></Code_Block>
						</Example_Code_Block>
					</Example_Block>
					<PostText> Because the example is implemented in Java, it may appear that it is immune to
						memory issues like buffer overflow vulnerabilities. Although Java does do a good job of
						making memory operations safe, this protection does not extend to vulnerabilities
						occurring in source code written in other languages that are accessed using the Java
						Native Interface. Despite the memory protections offered in Java, the C code in this
						example is vulnerable to a buffer overflow because it makes use of gets(), which does not
						perform any bounds checking on its input. The Sun Java(TM) Tutorial provides the following
						description of JNI [See Reference]: The JNI framework lets your native method utilize Java
						objects in the same way that Java code uses these objects. A native method can create Java
						objects, including arrays and strings, and then inspect and use these objects to perform
						its tasks. A native method can also inspect and use objects created by Java application
						code. A native method can even update Java objects that it created or that were passed to
						it, and these updated objects are available to the Java application. Thus, both the native
						language side and the Java side of an application can create, update, and access Java
						objects and then share these objects between them. The vulnerability in the example above
						could easily be detected through a source code audit of the native method implementation.
						This may not be practical or possible depending on the availability of the C source code
						and the way the project is built, but in many cases it may suffice. However, the ability
						to share objects between Java and native methods expands the potential risk to much more
						insidious cases where improper data handling in Java may lead to unexpected
						vulnerabilities in native code or unsafe operations in native code corrupt data structures
						in Java. Vulnerabilities in native code accessed through a Java application are typically
						exploited in the same manner as they are in applications written in the native language.
						The only challenge to such an attack is for the attacker to identify that the Java
						application uses native code to perform certain operations. This can be accomplished in a
						variety of ways, including identifying specific behaviors that are often implemented with
						native code or by exploiting a system information leak in the Java application that
						exposes its use of JNI [See Reference]. </PostText>
				</Example_Code>
			</Demonstrative_Example>
			<Context_Notes>Native code is unprotected by the security features enforced by the runtime
				environment, such as strong typing and array bounds checking. Many safety features that
				programmers may take for granted simply do not apply for native code, so you must carefully review
				all such code for potential problems. Other programming languages that may be more susceptible to
				buffer overflows and other attacks, such as C or C++, usually implement native code.
				Language-based encapsulation is broken.</Context_Notes>
			<References>
				<Reference>
					<Reference_Author>Fortify Software</Reference_Author>
					<Reference_Title>Fortify Descriptions</Reference_Title>
					<Reference_Link>http://vulncat.fortifysoftware.com</Reference_Link>
				</Reference>
				<Reference>
					<Reference_Author>B. Stearns</Reference_Author>
					<Reference_Title>The Java™ Tutorial: The Java Native Interface</Reference_Title>
					<Reference_Publisher>Sun Microsystems</Reference_Publisher>
					<Reference_PubDate>2005</Reference_PubDate>
					<Reference_Link>http://java.sun.com/docs/books/tutorial/native1.1/</Reference_Link>
				</Reference>
			</References>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>100</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Unsafe JNI</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>Java</Platform>
			</Applicable_Platforms>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="112" Weakness_Name="Missing XML Validation" Weakness_Abstraction="Base" Weakness_Status="Draft">
		<Common_Attributes>
			<Description>
				<Description_Summary>Failure to enable validation when parsing XML gives an attacker the opportunity to supply
				malicious input.</Description_Summary>
			</Description>
			<Weakness_Ordinality>Primary (Weakness exists independent of other weaknesses)</Weakness_Ordinality>
			<Causal_Nature>Explicit (This is an explicit weakness resulting from behavior of the developer)</Causal_Nature>
			<Potential_Mitigations>
				<Mitigation>Always validate XML input against a known XML Schema or DTD.</Mitigation>
				<Mitigation>Assume all input is malicious. Use an appropriate combination of black lists and white
					lists to ensure only valid and expected input is processed by the system.</Mitigation>
			</Potential_Mitigations>
			<Context_Notes>Most successful attacks begin with a violation of the programmer's assumptions. By
				accepting an XML document without validating it against a DTD or XML schema, the programmer leaves
				a door open for attackers to provide unexpected, unreasonable, or malicious input. It is not
				possible for an XML parser to validate all aspects of a document's content; a parser cannot
				understand the complete semantics of the data. However, a parser can do a complete and thorough
				job of checking the document's structure and therefore guarantee to the code that processes the
				document that the content is well-formed.</Context_Notes>
				<Relationships>
				<Relationship>
						<Relationship_Views>
							<Relationship_View_ID Ordinal="Primary">1000</Relationship_View_ID>
						</Relationship_Views>
						<Relationship_Type>Weakness</Relationship_Type>
					<Relationship_Nature>ChildOf</Relationship_Nature>
					<Relationship_Target_ID>20</Relationship_Target_ID>
				</Relationship>
				</Relationships>
			<Source_Taxonomy Source_Taxonomy_Name="7 Pernicious Kingdoms">
				<Original_Node_Name>Missing XML Validation</Original_Node_Name>
			</Source_Taxonomy>
			<Applicable_Platforms>
				<Platform>All</Platform>
			</Applicable_Platforms>
			<Related_Attack_Patterns>
				<Related_Attack_Pattern>
					<CAPEC_ID>99<!--XML Parser Attack--></CAPEC_ID>
				</Related_Attack_Pattern>
			</Related_Attack_Patterns>
		</Common_Attributes>
	</Weakness>
	<Weakness Weakness_ID="113" Weakness_Name="Failure to Sanitize CRLF Sequences in HTTP Headers (aka 'HTTP Response Splitting')" Weakness_Abstraction="Base" Weakness_Status="Incomplete">
		<Common_Attributes>
			<Description>
				<Description_Summary>The software fails to adequately filter HTTP headers for CR and LF characters. Including unvalidated data in an HTTP header allows an attacker to specify the
				entirety of the HTTP response rendered by the browser. When an HTTP request contains unexpected CR and LF characters the server may respond
				with an output stream that is interpreted as two different HTTP responses (instead of
				one). An attacker can control the second response and mount attacks such as cross-site
				scripting and cache poisoning attacks.</Description_Summary>
			</Description>
			<Potential_Mitigations>
				<Mitigation>Construct HTTP headers very carefully, avoiding the use of non-validated input data.</Mitigation>
				<Mitigation>Assume all input is malicious. Use an appropriate combination of black lists and white
					lists to ensure only valid and expected input is processed by the system. Input (specifically,
					unexpected CRLFs) that is not appropriate should not be processed into HTTP
				headers.</Mitigation>
			</Potential_Mitigations>
			<Demonstrative_Example>
				<Example_Code>
					<PreText> The following code segment reads the name of the author of a weblog entry, author,
						from an HTTP request and sets it in a cookie header of an HTTP response.</PreText>
					<Example_Block>
						<Example_Code_Block>
							<Code_Block><![CDATA[String author = request.getParameter(AUTHOR_PARAM); 
					...
					Cookie cookie = new Cookie("author", author); 
					cookie.setMaxAge(cookieExpiration);
					response.addCookie(cookie);]]></Code_Block>
						</Example_Code_Block>
					</Example_Block>
					<PostText> Assuming a string consisting of standard alpha-numeric characters, such as "Jane
						Smith", is submitted in the request the HTTP response including this cookie might take the
						following form: HTTP/1.1 200 OK ... Set-Cookie: author=Jane Smith ... However, because the
						value of the cookie is formed of unvalidated user input the response will only maintain
						this form if the value submitted for AUTHOR_PARAM does not contain any CR and LF
						characters. If an attacker submits a malicious string, such as "Wiley Hacker\r\nHTTP/1.1
						200 OK\r\n...", then the HTTP response would be split into two responses of the following
						form: HTTP/1.1 200 OK ... Set-Cookie: author=Wiley Hacker HTTP/1.1 200 OK ... Clearly, the
						second response is completely controlled by the attacker and can be constructed with any
						header and body content desired. The ability of attacker to construct arbitrary HTTP
						responses permits a variety of resulting attacks, including: cross-user defacement, web
						and browser cache poisoning, cross-site scripting and page hijacking. Others examples:
						Cross-User Defacement: An attacker can make a single request to a vulnerable server that
						will cause the sever to create two responses, the second of which may be misinterpreted as
						a response to a different request, possibly one made by another user sharing the same TCP
						connection with the sever. This can be accomplished by convincing the user to submit the
						malicious request themselves, or remotely in situations where the attacker and the user
						share a common TCP connection to the server, such as a shared proxy server. In the best
						case, an attacker can leverage this ability to convince users that the application has
						been hacked, causing users to lose confidence in the security of the application. In the
						worst case, an attacker may provide specially crafted content designed to mimic the
						behavior of the application but redirect private information, such as account numbers and
						passwords, back to the attacker. Cache Poisoning: The impact of a maliciously constructed
						response can be magnified if it is cached either by a web cache used by multiple users or
						even the browser cache of a single user. If a response is cached in a shared web cache,
						such as those commonly found in proxy servers, then all users of that cache will continue
						receive the malicious content until the cache entry is purged. Similarly, if the response
						is cached in the browser of an individual user, then that user will continue to receive
						the malicious content until the cache entry is purged, although the user of the local
						browser instance will be affected. Cross-Site Scripting: Once attackers have control of
						the responses sent by an application, they have a choice of a variety of malicious content
						to provide users. Cross-site scripting is common form of attack where malicious JavaScript
						or other code included in a response is executed in the user's browser. The variety of
						attacks based on XSS is almost limitless, but they commonly include transmitting private
						data like cookies or other session information to the attacker, redirecting the victim to
						web content controlled by the attacker, or performing other malicious operations on the
						user's machine under the guise of the vulnerable site. The most common and dangerous
						attack vector against users of a vulnerable application uses JavaScript to transmit
						session and authentication information back to the attacker who can then take complete
						control of the victim's account. Page Hijacking: In addition to using a vulnerable
						application to send malicious content to a user, the same root vulnerability can also be
						leveraged to redirect sensitive content generated by the server and intended for the user
						to the attacker instead. By submitting a request that results in two responses, the
						intended response from the server and the response generated by the attacker, an attacker
						can cause an intermediate node, such as a shared proxy server, to misdirect a response
						generated by the server for the user to the attacker. Because the request made by the
						attacker generates two responses, the first is interpreted as a response to the attacker's
						request, while the second remains in limbo. When the user makes a legitimate request
						through the same TCP connection, the attacker's request is already waiting and is
						interpreted as a response to the victim's request. The attacker then sends a second
						request to the server, to which the proxy server responds with the server generated
						request intended for the victim, thereby compromising any sensitive information in the
						headers or body of the response intended for the victim. </PostText>
				</Example_Code>
			</Demonstrative_Example>
			<Observed_Examples>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-1951</Observed_Example_Reference>
					<Observed_Example_Description>Application accepts CRLF in an object ID, allowing HTTP response splitting.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2004-2146</Observed_Example_Reference>
					<Observed_Example_Description>Application accepts CRLF in an object ID, allowing HTTP response splitting.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2004-1620</Observed_Example_Reference>
					<Observed_Example_Description>HTTP response splitting via CRLF in parameter related to URL.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2004-1656</Observed_Example_Reference>
					<Observed_Example_Description>HTTP response splitting via CRLF in parameter related to URL.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2004-1687</Observed_Example_Reference>
					<Observed_Example_Description>HTTP response splitting via CRLF in parameter related to URL.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-2060</Observed_Example_Reference>
					<Observed_Example_Description>Bulletin board allows response splitting via CRLF in parameter.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-2065</Observed_Example_Reference>
					<Observed_Example_Description>Bulletin board allows response splitting via CRLF in parameter.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2004-2512</Observed_Example_Reference>
					<Observed_Example_Description>Response splitting via CRLF in PHPSESSID.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2005-1951</Observed_Example_Reference>
					<Observed_Example_Description>Chain: Application accepts CRLF in an object ID,
						allowing HTTP response splitting.</Observed_Example_Description>
				</Observed_Example>
				<Observed_Example>
					<Observed_Example_Reference>CVE-2004-1687</Observed_Example_Reference>
					<Observed_Example_Description>Chain: HTTP response splitting via CRLF in parameter
						related to URL.</Observed_Example_Description>
				</Observed_Example>
			</Observed_Examples>
			<Context_Notes>HTTP response splitting vulnerabilities occur when: 1. Data enters a web application
				through an untrusted source, most frequently an HTTP request. 2. The data is included in an HTTP
				response header sent to a web user without being validated for malicious characters. As with many
				software security vulnerabilities, HTTP response splitting is a means to an end, not an end in
				itself. At its root, the vulnerability is straightforward: an attacker passes malicious data to a
				vulnerable application, and the application includes the data in an HTTP response header. To mount
				a successful exploit, the application