Annotation of embedaddon/libxml2/test/schemas/nvdcve_0.xsd, revision 1.1.1.1
1.1 misho 1: <?xml version="1.0"?>
2: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3: targetNamespace="http://nvd.nist.gov/feeds/cve/1.2"
4: xmlns:cve="http://nvd.nist.gov/feeds/cve/1.2"
5: elementFormDefault="qualified" attributeFormDefault="unqualified"
6: version="1.2">
7: <xs:annotation>
8: <xs:documentation>This schema defines the structure of the National
9: Vulnerability Database XML feed files version: 1.2. The elements and
10: attribute in this document are described by xs:annotation tags. This
11: file is kept at http://nvd.nist.gov/schema/nvdcve.xsd. The NVD XML
12: feeds are available at http://nvd.nist.gov/download.cfm.
13:
14: Release Notes:
15:
16: Version 1.2:
17: * CVSS version 2 scores and vectors have been added. Please see
18: http://nvd.nist.gov/cvss.cfm?vectorinfo and
19: http://www.first.org/cvss/cvss-guide.html for more information on
20: how to interpret this data. </xs:documentation>
21: </xs:annotation>
22: <xs:element name="nvd">
23: <xs:annotation>
24: <xs:documentation>The root element of the NVD CVE feed. Multiple "entry" child elements describe specific NVD CVE entries.</xs:documentation>
25: </xs:annotation>
26: <xs:complexType>
27: <xs:sequence>
28: <xs:element ref="cve:entry" minOccurs="0" maxOccurs="unbounded"/>
29: </xs:sequence>
30: <xs:attribute name="nvd_xml_version" type="xs:NMTOKEN" use="required">
31: <xs:annotation>
32: <xs:documentation>The schema version number supported by the feed.</xs:documentation>
33: </xs:annotation>
34: </xs:attribute>
35: <xs:attribute name="pub_date" type="cve:dateType" use="required">
36: <xs:annotation>
37: <xs:documentation>The date the feed was generated.</xs:documentation>
38: </xs:annotation>
39: </xs:attribute>
40: </xs:complexType>
41: </xs:element>
42:
43: <xs:element name="entry" type="cve:entryType">
44: <xs:annotation>
45: <xs:documentation>A CVE entry.</xs:documentation>
46: </xs:annotation>
47: </xs:element>
48:
49: <!-- ******************************************************************* -->
50: <!-- * Complex Types * -->
51: <!-- ******************************************************************* -->
52: <xs:complexType name="entryType">
53: <xs:annotation>
54: <xs:documentation> Documents one CVE entry. The child elements should always
55: appear in the sequence defined below. These elements are compatible with
56: entry elements from the CVE XML feeds.</xs:documentation>
57: </xs:annotation>
58: <xs:sequence>
59: <xs:element name="desc">
60: <xs:annotation>
61: <xs:documentation>Description wrapper tag, parent to any
62: documented descriptions of this CVE entry. While the "desc"
63: tag will always be present, there may be no "descript" child
64: tags. Only one "descript" tag will exist for each
65: description source (i.e. CVE, NVD, ...). </xs:documentation>
66: </xs:annotation>
67: <xs:complexType>
68: <xs:sequence>
69: <xs:element name="descript" type="cve:descriptType" minOccurs="0" maxOccurs="2">
70: <xs:annotation>
71: <xs:documentation>A description of a CVE entry
72: from the source indicated by the "source"
73: attribute.</xs:documentation>
74: </xs:annotation>
75: </xs:element>
76: </xs:sequence>
77: </xs:complexType>
78: </xs:element>
79: <xs:element name="impacts" minOccurs="0">
80: <xs:annotation>
81: <xs:documentation> Impact wrapper tag (may or may not be
82: present). Only one "impact" tag will exist for each impact
83: explanation source. </xs:documentation>
84: </xs:annotation>
85: <xs:complexType>
86: <xs:sequence>
87: <xs:element name="impact" type="cve:impactType">
88: <xs:annotation>
89: <xs:documentation> Contains a specific impact
90: explanation of this CVE entry from source
91: indicated by the "source" attribute.
92: </xs:documentation>
93: </xs:annotation>
94: </xs:element>
95: </xs:sequence>
96: </xs:complexType>
97: </xs:element>
98: <xs:element name="sols" type="cve:solsType" minOccurs="0">
99: <xs:annotation>
100: <xs:documentation> Solution wrapper tag (may or may not be
101: present). Only one "sol" tag will exist for each solution
102: explanation source. </xs:documentation>
103: </xs:annotation>
104: </xs:element>
105: <xs:element name="loss_types" type="cve:lossTypeType" minOccurs="0">
106: <xs:annotation>
107: <xs:documentation> Loss type tag (may or may not be present).
108: Contains one loss type child for each loss type of this CVE
109: entry. Potential loss types are: "avail" => availability
110: "conf" => confidentiality "int" => integrity "sec_prot" =>
111: security protection </xs:documentation>
112: </xs:annotation>
113: </xs:element>
114: <xs:element name="vuln_types" type="cve:vulnType" minOccurs="0">
115: <xs:annotation>
116: <xs:documentation> Vulnerability type tag (may or may not be
117: present). Contains one vulnerability type child for each
118: vulnerability type of this CVE entry. Potential
119: vulnerability types are: "access" => Access validation error
120: "input" => Input validation error "design" => Design error
121: "exception" => Exceptional condition error "env" =>
122: Environmental error "config" => Configuration error "race"
123: => Race condition error "other" => other </xs:documentation>
124: </xs:annotation>
125: </xs:element>
126: <xs:element name="range" type="cve:rangeType" minOccurs="0">
127: <xs:annotation>
128: <xs:documentation> Vulnerability range tag (may or may not be
129: present). Contains one vulnerability range child for each
130: vulnerability range of this CVE entry. Potential
131: vulnerability ranges are: "local" => Locally exploitable
132: "local_network" => Local network exploitable "network" =>
133: Network exploitable "user_init" => User accesses attacker
134: </xs:documentation>
135: </xs:annotation>
136: </xs:element>
137: <xs:element name="refs">
138: <xs:annotation>
139: <xs:documentation> Reference wrapper tag (always present).
140: External references to this CVE entry are contained within
141: this tag. </xs:documentation>
142: </xs:annotation>
143: <xs:complexType>
144: <xs:sequence>
145: <xs:element name="ref" type="cve:refType" minOccurs="0" maxOccurs="unbounded">
146: <xs:annotation>
147: <xs:documentation> Individual reference to this CVE
148: entry. Text is the name of this vulnerability at
149: this particular reference. Attributes: "source"
150: (required) => Name of reference source "url"
151: (required) => hyperlink to reference "sig" =>
152: indicates this reference includes a tool
153: signature "adv" => indicates this reference is a
154: Security Advisory "patch" => indicates this
155: reference includes a patch for this
156: vulnerability </xs:documentation>
157: </xs:annotation>
158: </xs:element>
159: </xs:sequence>
160: </xs:complexType>
161: </xs:element>
162: <xs:element name="vuln_soft" type="cve:vulnSoftType" minOccurs="0">
163: <xs:annotation>
164: <xs:documentation> Vulnerable software wrapper tag (may or may
165: not be present). Software affected by this CVE entry are
166: listed within this tag. </xs:documentation>
167: </xs:annotation>
168: </xs:element>
169: </xs:sequence>
170: <xs:attribute name="type" use="required">
171: <xs:annotation>
172: <xs:documentation>CVE or CAN</xs:documentation>
173: </xs:annotation>
174: <xs:simpleType>
175: <xs:restriction base="xs:NMTOKEN">
176: <xs:enumeration value="CAN"/>
177: <xs:enumeration value="CVE"/>
178: </xs:restriction>
179: </xs:simpleType>
180: </xs:attribute>
181: <xs:attribute name="name" use="required">
182: <xs:annotation>
183: <xs:documentation>the full CVE name</xs:documentation>
184: </xs:annotation>
185: <xs:simpleType>
186: <xs:restriction base="xs:ID">
187: <xs:pattern value="(CAN|CVE)\-\d\d\d\d\-\d\d\d\d"/>
188: </xs:restriction>
189: </xs:simpleType>
190: </xs:attribute>
191: <xs:attribute name="seq" use="required">
192: <xs:annotation>
193: <xs:documentation>the sequence number from CVE name</xs:documentation>
194: </xs:annotation>
195: <xs:simpleType>
196: <xs:restriction base="xs:NMTOKEN">
197: <xs:pattern value="\d\d\d\d\-\d\d\d\d"/>
198: </xs:restriction>
199: </xs:simpleType>
200: </xs:attribute>
201: <xs:attribute name="nvd_name" type="xs:string">
202: <xs:annotation>
203: <xs:documentation>the NVD name (if it exists)</xs:documentation>
204: </xs:annotation>
205: </xs:attribute>
206: <xs:attribute name="discovered" type="cve:dateType">
207: <xs:annotation>
208: <xs:documentation>the date this entry was discovered</xs:documentation>
209: </xs:annotation>
210: </xs:attribute>
211: <xs:attribute name="published" type="cve:dateType" use="required">
212: <xs:annotation>
213: <xs:documentation>the date this entry was published</xs:documentation>
214: </xs:annotation>
215: </xs:attribute>
216: <xs:attribute name="modified" type="cve:dateType">
217: <xs:annotation>
218: <xs:documentation>the date this entry was last modified</xs:documentation>
219: </xs:annotation>
220: </xs:attribute>
221: <xs:attribute name="severity">
222: <xs:annotation>
223: <xs:documentation>the entry's severity as determined by the NVD analysts: High, Medium, or Low</xs:documentation>
224: </xs:annotation>
225: <xs:simpleType>
226: <xs:restriction base="xs:NMTOKEN">
227: <xs:enumeration value="High"/>
228: <xs:enumeration value="Medium"/>
229: <xs:enumeration value="Low"/>
230: </xs:restriction>
231: </xs:simpleType>
232: </xs:attribute>
233: <xs:attribute name="reject" type="cve:trueOnlyAttribute">
234: <xs:annotation>
235: <xs:documentation>indicates that this CVE entry has been rejected by CVE or NVD</xs:documentation>
236: </xs:annotation>
237: </xs:attribute>
238: <xs:attribute name="CVSS_version" type="xs:string">
239: <xs:annotation>
240: <xs:documentation>the CVSS Version Indicator</xs:documentation>
241: </xs:annotation>
242: </xs:attribute>
243: <xs:attribute name="CVSS_score" type="cve:zeroToTen">
244: <xs:annotation>
245: <xs:documentation>Same as the CVSS_base_score to provide backwards compatability with the previous CVE XML feed format. This field is deprecated an may be removed at a future date.</xs:documentation>
246: </xs:annotation>
247: </xs:attribute>
248: <xs:attribute name="CVSS_base_score" type="cve:zeroToTen">
249: <xs:annotation>
250: <xs:documentation>CVSS version 2 Base Score</xs:documentation>
251: </xs:annotation>
252: </xs:attribute>
253: <xs:attribute name="CVSS_impact_subscore" type="cve:zeroToTen">
254: <xs:annotation>
255: <xs:documentation>CVSS version 2 Impact Score</xs:documentation>
256: </xs:annotation>
257: </xs:attribute>
258: <xs:attribute name="CVSS_exploit_subscore" type="cve:zeroToTen">
259: <xs:annotation>
260: <xs:documentation>CVSS version 2 Exploit Score</xs:documentation>
261: </xs:annotation>
262: </xs:attribute>
263: <xs:attribute name="CVSS_vector" type="cve:CVSSVector">
264: <xs:annotation>
265: <xs:documentation>the CVSS version 2 Vector string</xs:documentation>
266: </xs:annotation>
267: </xs:attribute>
268: </xs:complexType>
269:
270: <xs:complexType name="descriptType">
271: <xs:simpleContent>
272: <xs:extension base="xs:string">
273: <xs:attribute name="source" type="cve:descriptSourceType" use="required">
274: <xs:annotation>
275: <xs:documentation>The source of the CVE description.</xs:documentation>
276: </xs:annotation>
277: </xs:attribute>
278: </xs:extension>
279: </xs:simpleContent>
280: </xs:complexType>
281:
282: <xs:complexType name="impactType">
283: <xs:simpleContent>
284: <xs:extension base="xs:string">
285: <xs:attribute name="source" type="cve:impactSourceType" use="required">
286: </xs:attribute>
287: </xs:extension>
288: </xs:simpleContent>
289: </xs:complexType>
290:
291: <xs:complexType name="vulnType">
292: <xs:sequence>
293: <xs:element name="access" minOccurs="0"/>
294: <xs:element name="input" minOccurs="0">
295: <xs:annotation>
296: <xs:documentation> Input validation error tag with
297: one attribute for each input validation error
298: type. Potential input validation error types
299: are: "bound" => Boundary condition error
300: "buffer" => Buffer overflow </xs:documentation>
301: </xs:annotation>
302: <xs:complexType>
303: <xs:attribute name="bound" type="cve:trueOnlyAttribute"/>
304: <xs:attribute name="buffer" type="cve:trueOnlyAttribute"
305: />
306: </xs:complexType>
307: </xs:element>
308: <xs:element name="design" minOccurs="0"/>
309: <xs:element name="exception" minOccurs="0"/>
310: <xs:element name="env" minOccurs="0"/>
311: <xs:element name="config" minOccurs="0"/>
312: <xs:element name="race" minOccurs="0"/>
313: <xs:element name="other" minOccurs="0"/>
314: </xs:sequence>
315: </xs:complexType>
316:
317: <xs:complexType name="solsType">
318: <xs:sequence>
319: <xs:element name="sol">
320: <xs:annotation>
321: <xs:documentation> Contains a specific solution
322: explanation of this CVE entry from source
323: indicated by the "source" attribute.
324: </xs:documentation>
325: </xs:annotation>
326: <xs:complexType mixed="true">
327: <xs:simpleContent>
328: <xs:extension base="xs:string">
329: <xs:attribute name="source" type="cve:solsSourceType" use="required">
330: </xs:attribute>
331: </xs:extension>
332: </xs:simpleContent>
333: </xs:complexType>
334: </xs:element>
335: </xs:sequence>
336: </xs:complexType>
337:
338: <xs:complexType name="lossTypeType">
339: <xs:sequence>
340: <xs:element name="avail" minOccurs="0"/>
341: <xs:element name="conf" minOccurs="0"/>
342: <xs:element name="int" minOccurs="0"/>
343: <xs:element name="sec_prot" minOccurs="0">
344: <xs:annotation>
345: <xs:documentation> Security Protection tag with one
346: attribute for each security protection type.
347: Potential security protection types are: "admin"
348: => gain administrative access "user" => gain
349: user access "other" => other </xs:documentation>
350: </xs:annotation>
351: <xs:complexType>
352: <xs:attribute name="admin" type="cve:trueOnlyAttribute"/>
353: <xs:attribute name="user" type="cve:trueOnlyAttribute"/>
354: <xs:attribute name="other" type="cve:trueOnlyAttribute"
355: />
356: </xs:complexType>
357: </xs:element>
358: </xs:sequence>
359: </xs:complexType>
360:
361: <xs:complexType name="rangeType">
362: <xs:sequence>
363: <xs:element name="local" minOccurs="0"/>
364: <xs:element name="local_network" minOccurs="0"/>
365: <xs:element name="network" minOccurs="0"/>
366: <xs:element name="user_init" minOccurs="0"/>
367: </xs:sequence>
368: </xs:complexType>
369:
370: <xs:complexType name="refType">
371: <xs:simpleContent>
372: <xs:extension base="xs:string">
373: <xs:attribute name="source" type="xs:string" use="required"/>
374: <xs:attribute name="url" type="cve:urlType" use="required"/>
375: <xs:attribute name="sig" type="cve:trueOnlyAttribute"/>
376: <xs:attribute name="adv" type="cve:trueOnlyAttribute"/>
377: <xs:attribute name="patch" type="cve:trueOnlyAttribute"/>
378: </xs:extension>
379: </xs:simpleContent>
380: </xs:complexType>
381:
382: <xs:complexType name="vulnSoftType">
383: <xs:sequence>
384: <xs:element name="prod" maxOccurs="unbounded">
385: <xs:annotation>
386: <xs:documentation> Product wrapper tag. Versions of
387: this product that are affected by this
388: vulnerability are listed within this tag.
389: Attributes: "name" => Product name "vendor" =>
390: Vendor of this product </xs:documentation>
391: </xs:annotation>
392: <xs:complexType>
393: <xs:sequence>
394: <xs:element name="vers" maxOccurs="unbounded">
395: <xs:annotation>
396: <xs:documentation> Represents a version
397: of this product that is affected by
398: this vulnerability. Attributes:
399: "num" => This version number "prev"
400: => Indicates that versions previous
401: to this version number are also
402: affected by this vulnerability
403: "edition" => Indicates the edition
404: associated with the version number
405: </xs:documentation>
406: </xs:annotation>
407: <xs:complexType>
408: <xs:attribute name="num"
409: type="xs:string" use="required"/>
410: <xs:attribute name="prev"
411: type="cve:trueOnlyAttribute"/>
412: <xs:attribute name="edition"
413: type="xs:string"/>
414: </xs:complexType>
415: </xs:element>
416: </xs:sequence>
417: <xs:attribute name="name" type="xs:string"
418: use="required"/>
419: <xs:attribute name="vendor" type="xs:string"
420: use="required"/>
421: </xs:complexType>
422: </xs:element>
423: </xs:sequence>
424: </xs:complexType>
425:
426: <!-- ******************************************************************* -->
427: <!-- * Simple Types * -->
428: <!-- ******************************************************************* -->
429: <xs:simpleType name="descriptSourceType">
430: <xs:restriction base="xs:NMTOKEN">
431: <xs:enumeration value="cve"/>
432: <xs:enumeration value="nvd"/>
433: </xs:restriction>
434: </xs:simpleType>
435:
436: <xs:simpleType name="impactSourceType">
437: <xs:restriction base="xs:NMTOKEN">
438: <xs:enumeration value="nvd"/>
439: </xs:restriction>
440: </xs:simpleType>
441:
442: <xs:simpleType name="solsSourceType">
443: <xs:restriction base="xs:NMTOKEN">
444: <xs:enumeration value="nvd"/>
445: </xs:restriction>
446: </xs:simpleType>
447:
448: <xs:simpleType name="dateType">
449: <xs:annotation>
450: <xs:documentation> Defines date format for NVD. Dates follow the mask "yyyy-mm-dd"
451: </xs:documentation>
452: </xs:annotation>
453: <xs:restriction base="xs:string">
454: <xs:pattern
455: value="(19|20)\d\d-((01|03|05|07|08|10|12)-(0[1-9]|[1-2]\d|3[01])|(04|06|09|11)-(0[1-9]|[1-2]\d|30)|02-(0[1-9]|1\d|2\d))"
456: />
457: </xs:restriction>
458: </xs:simpleType>
459: <xs:simpleType name="urlType">
460: <xs:annotation>
461: <xs:documentation> Restricts urls in NVD beyond the xs:anyURI restrictions.
462: </xs:documentation>
463: </xs:annotation>
464: <xs:restriction base="xs:anyURI">
465: <xs:whiteSpace value="collapse"/>
466: <xs:pattern value="(news|(ht|f)tp(s)?)://.+"/>
467: </xs:restriction>
468: </xs:simpleType>
469: <xs:simpleType name="trueOnlyAttribute">
470: <xs:annotation>
471: <xs:documentation> simpleType used for attributes that are only present when they are
472: true. Such attributes appear only in the form attribute_name="1".
473: </xs:documentation>
474: </xs:annotation>
475: <xs:restriction base="xs:NMTOKEN">
476: <xs:enumeration value="1"/>
477: </xs:restriction>
478: </xs:simpleType>
479: <xs:simpleType name="zeroToTen">
480: <xs:annotation>
481: <xs:documentation> simpleType used when scoring on a scale of 0-10, inclusive
482: </xs:documentation>
483: </xs:annotation>
484: <xs:restriction base="xs:decimal">
485: <xs:minInclusive value="0" fixed="true"/>
486: <xs:maxInclusive value="10" fixed="true"/>
487: </xs:restriction>
488: </xs:simpleType>
489: <xs:simpleType name="CVSSVector">
490: <xs:annotation>
491: <xs:documentation>simpleType to describe the CVSS Base Vector </xs:documentation>
492: </xs:annotation>
493: <xs:restriction base="xs:string">
494: <xs:pattern
495: value="\(AV:[LAN]/AC:[HML]/Au:[NSM]/C:[NPC]/I:[NPC]/A:[NPC]\)"/>
496: </xs:restriction>
497: </xs:simpleType>
498: </xs:schema>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>