<xs:element name="Vulnerability">
<xs:annotation>
<xs:documentation xml:lang="en">This is a meta-container for the aggregation of all fields that are related to a single vulnerability within the document.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Title" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Vulnerability Title gives the document producer the ability to apply a canonical name or title to the vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ID" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Vulnerability ID gives the document producer a place to publish a unique label or tracking ID for the vulnerability (if such information exists).</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:token">
<xs:attribute name="SystemName" type="xs:token" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">System Name indicates the name of the vulnerability tracking or numbering system that this vulnerability ID comes from.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Notes" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The Notes container holds all individual notes concerning this vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Note" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">The Notes text contains all of the content necessary to provide different types of low-level discussions of a given vulnerability to various audiences.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString">
<xs:attribute name="Title" type="xs:string">
<xs:annotation>
<xs:documentation xml:lang="en">Title should be a concise description of what is contained in Vulnerability Notes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Audience" type="xs:string">
<xs:annotation>
<xs:documentation xml:lang="en">Audience will indicate who is intended to read the note.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" type="cvrf-common:NoteTypeEnumType" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">Type of content within this note.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Ordinal" type="xs:positiveInteger" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">Ordinal is a locally significant integral counter indexed from 1 used to track notes.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DiscoveryDate" type="xs:dateTime" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Date vulnerability was initially discovered by its original discoverer.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReleaseDate" type="xs:dateTime" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Date vulnerability was initially released to the public.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Involvements" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The Involvements container lists any number of vendor or third party interactions related to this vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Involvement" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">Involvement contains a specific set of interaction details.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Description" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The description of the Involvement.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Party" type="cvrf-common:PublisherEnumType" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">Type of party with whom the involvement is taking place.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Status" type="vuln:InvolvementStatusEnumType" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">Status of the involvement with the specified party.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CVE" type="vuln:cvePattern" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The CVE string refers to the MITRE standard Common Vulnerabilities Enumeration (CVE) tracking number for the vulnerability.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CWE" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">Detailed description of the referrenced Common Weakness Enumeration (CWE) identifier.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString">
<xs:attribute name="ID" type="vuln:cwePattern" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">The MITRE-assigned CWE identifier.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="ProductStatuses" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The ProductStatuses container holds the list of all the products affected by the vulnerability in question.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Status" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">The Status element holds an enumerated value based on available Product Name Entry items as constructed from the Product Tree container.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="vuln:ProductID" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type" type="vuln:AffectedStatusEnumType" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">Affected status for the product or products defined in this container.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Threats" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Contains all Threat containers</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Threat" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">Threat contains the "kinetic" information associated with a vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Description" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The description of the Threat.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element ref="vuln:ProductID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="vuln:GroupID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type" type="vuln:ThreatTypeEnumType" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">The type of the Threat.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Date" type="xs:dateTime">
<xs:annotation>
<xs:documentation xml:lang="en">The date this Threat item was last updated; if omitted it is deemed to be unknown, irrelevant, or unimportant.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CVSSScoreSets" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The CVSS Score Set meta-container holds one or more CVSS score sets to describe vulnerable products.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ScoreSet" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">CVSS scores for a given product ID. If the ProductID attribute is omitted, the score applies to all vulnerable products.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BaseScore" type="cvssv2:zeroToTenDecimalType" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The CVSS Base Score is the numeric value of the computed CVSS Base Score which should be a float from 0 – 10.0.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TemporalScore" type="cvssv2:zeroToTenDecimalType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The CVSS Base Score is the numeric value of the computed CVSS Temporal Score which should be a float from 0 – 10.0.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EnvironmentalScore" type="cvssv2:zeroToTenDecimalType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The CVSS Base Score is the numeric value of the computed CVSS Environmental Score which should be a float from 0 – 10.0.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Vector" type="vuln:cvssVector" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The CVSS Vector string is the official notation that contains all of the values used to compute the Base, Temporal, and Environmental scores.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="vuln:ProductID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Remediations" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The Remediation meta-container tag holds all related Workaround, Mitigation, Vendor Fix, and Entitlement entries that are associated with the specific vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Remediation" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">Holds all of the specific details on how to handle (and presumably, fix) the vulnerability, tied to Product ID.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Description" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">Textual description of this remedy.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Entitlement" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">The Entitlement string will contain any possible vendor-defined constraints for obtaining fixed software or hardware that fully resolves the vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="URL" type="xs:anyURI" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">URL from which the remedy can be obtained.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="vuln:ProductID" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="vuln:GroupID" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type" type="vuln:RemedyTypeEnumType" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">Specific type of remedy.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Date" type="xs:dateTime">
<xs:annotation>
<xs:documentation xml:lang="en">The date Remedy was last updated, if omitted it is deemed to be unknown, unimportant, or irrelevant.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="References" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">This meta-container should include references to any conferences, papers, advisories, and other resources that are related to this vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Reference" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">This meta-container contains an orthogonally related document, background info, whitepaper, etc. to the specific vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="URL" type="xs:anyURI" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The URL of the related document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Description" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The description of the related document.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Type" type="cvrf-common:ReferenceTypeEnum" default="External">
<xs:annotation>
<xs:documentation xml:lang="en">Enumerated type value of reference relative to this document.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Acknowledgments" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The Acknowledgments container holds one or more Acknowledgement containers for vulnerability-level acknowledgements.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Acknowledgment" minOccurs="1" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">The Acknowledgment container holds recognition for external parties who were instrumental in the discovery of, reporting of, and response to the vulnerability.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Name" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">The name (i.e., individual name) of the party being acknowledged.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Organization" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">The organization of the party being acknowledged or the organization itself being acknowledged.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">The details of the acknowledgment that address the recognition of external parties who were instrumental in the discovery, reporting and response of this document.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="cvrf-common:localizedString"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="URL" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">The optional URL to the person, place, or thing being acknowledged.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Ordinal" type="xs:positiveInteger" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">Locally significant numeric value to track vulnerabilities within a CVRF document. This enables vulnerabilities to be referenced from elsewhere inside the document (often at the document-level)</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:unique name="UniqueProductProductID">
<xs:annotation>
<xs:documentation xml:lang="en">This is to ensure that each product mentions a given ProductID only one.</xs:documentation>
</xs:annotation>
<xs:selector xpath=".//vuln:ProductStatuses/vuln:Status/vuln:ProductID"/>
<xs:field xpath="."/>
</xs:unique>
<xs:unique name="UniqueScoreSetProductID">
<xs:annotation>
<xs:documentation xml:lang="en">This is to ensure that each CVSS score set mentions a given ProductID only one.</xs:documentation>
</xs:annotation>
<xs:selector xpath=".//vuln:CVSSScoreSets/vuln:ScoreSet/vuln:ProductID"/>
<xs:field xpath="."/>
</xs:unique>
<xs:unique name="UniqueNotesOrdinal">
<xs:annotation>
<xs:documentation xml:lang="en">This is to ensure that each note has a unique ordinal value.</xs:documentation>
</xs:annotation>
<xs:selector xpath=".//vuln:Notes/vuln:Note"/>
<xs:field xpath="@Ordinal"/>
</xs:unique>
</xs:element> |