Open SCAP Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Files | Functions
CVE

Detailed Description

Common Vulnerabilities and Exposures.

cve.png
Class diagram

Data Structures

struct  cve_model
 Structure holding CVE model. More...
 
struct  cve_entry
 Structure holding CVE entry data. More...
 
struct  cve_summary
 Structure holding CVE summary data. More...
 
struct  cve_product
 Structure holding CVE product data. More...
 
struct  cve_configuration
 Structure CVE vulnerable configuration data. More...
 
struct  cwe_entry
 Structure holding CWE data. More...
 
struct  cve_reference
 Structure holding CVE reference data. More...
 
struct  cve_entry_iterator
 Iterator over CVE entries. More...
 
struct  cve_summary_iterator
 Iterator over CVE summaries. More...
 
struct  cve_product_iterator
 Iterator over CVE products. More...
 
struct  cve_configuration_iterator
 Iterator over CVE vulnerable configurations. More...
 
struct  cve_reference_iterator
 Iterator over CVE references. More...
 

Files

file  cve_nvd.h
 Interface to Common Vulnerability and Exposure dictionary.
 

Functions

struct cve_entrycve_entry::cve_entry_new (void)
 New CVE entry. More...
 
struct cve_configurationcve_configuration::cve_configuration_new (void)
 New CVE vulnerability configuration. More...
 
struct cwe_entrycwe_entry::cwe_entry_new (void)
 New CWE entry. More...
 
struct cve_productcve_product::cve_product_new (void)
 New CVE product. More...
 
struct cve_summarycve_summary::cve_summary_new (void)
 New CVE summary. More...
 
struct cve_referencecve_reference::cve_reference_new (void)
 New CVE reference. More...
 
struct cve_modelcve_model::cve_model_new (void)
 New CVE model. More...
 
struct cve_entrycve_entry::cve_entry_clone (struct cve_entry *old_entry)
 Clone CVE entry. More...
 
struct cve_configurationcve_configuration::cve_configuration_clone (struct cve_configuration *old_conf)
 Clone CVE configuration. More...
 
struct cwe_entrycwe_entry::cwe_entry_clone (struct cwe_entry *old_entry)
 Clone CWE entry. More...
 
struct cve_productcve_product::cve_product_clone (struct cve_product *old_product)
 Clone CVE product. More...
 
struct cve_summarycve_summary::cve_summary_clone (struct cve_summary *old_sum)
 Clone CVE summary. More...
 
struct cve_referencecve_reference::cve_reference_clone (struct cve_reference *old_ref)
 Clone CVE reference. More...
 
struct cve_modelcve_model::cve_model_clone (struct cve_model *old_model)
 Clone CVE model. More...
 
void cve_model::cve_model_free (struct cve_model *cve_model)
 Free CVE model. More...
 
void cve_entry::cve_entry_free (struct cve_entry *entry)
 Free CVE entry. More...
 
void cve_summary::cve_summary_free (struct cve_summary *summary)
 Free CVE summary. More...
 
void cve_product::cve_product_free (struct cve_product *product)
 Free CVE product. More...
 
void cve_reference::cve_reference_free (struct cve_reference *ref)
 Free CVE reference. More...
 
void cve_entry::cwe_entry_free (struct cwe_entry *entry)
 Free CVE entry. More...
 
void cve_configuration::cve_configuration_free (struct cve_configuration *conf)
 Free CVE configuration. More...
 

Getters

Return value is pointer to structure's member.

Do not free unless you null the pointer in the structure. Use remove function otherwise.

struct cve_entry_iteratorcve_entry::cve_model_get_entries (const struct cve_model *cve_model)
 Get en iterator to CVE entries. More...
 
const char * cve_entry::cve_entry_get_id (const struct cve_entry *item)
 Get CVE entry ID. More...
 
const char * cve_entry::cve_entry_get_cwe (const struct cve_entry *item)
 Get CVE entry CWE. More...
 
struct cve_summary_iteratorcve_entry::cve_entry_get_summaries (const struct cve_entry *item)
 Get CVE entry summary. More...
 
struct cve_reference_iteratorcve_entry::cve_entry_get_references (const struct cve_entry *item)
 Get an iterator to CVE entry's references. More...
 
const char * cve_reference::cve_reference_get_value (const struct cve_reference *ref)
 Get CVE reference values. More...
 
const char * cve_reference::cve_reference_get_href (const struct cve_reference *ref)
 Get CVE reference href. More...
 
const char * cve_reference::cve_reference_get_type (const struct cve_reference *ref)
 Get CVE reference type. More...
 
const char * cve_reference::cve_reference_get_source (const struct cve_reference *ref)
 Get CVE reference source. More...
 
const char * cve_reference::cve_reference_get_lang (const struct cve_reference *ref)
 
const char * cve_summary::cve_summary_get_summary (const struct cve_summary *summary)
 Get value from CVE summary. More...
 
const char * cve_entry::cwe_entry_get_value (const struct cwe_entry *entry)
 Get CVE entry value. More...
 
const char * cve_configuration::cve_configuration_get_id (const struct cve_configuration *conf)
 Get CVE configuration id. More...
 
const char * cve_entry::cve_entry_get_published (const struct cve_entry *entry)
 Get CVE entry published date. More...
 
const char * cve_entry::cve_entry_get_modified (const struct cve_entry *entry)
 Get CVE entry modified. More...
 
const char * cve_entry::cve_entry_get_sec_protection (const struct cve_entry *entry)
 Get CVE entry protection. More...
 
struct cve_product_iteratorcve_entry::cve_entry_get_products (const struct cve_entry *entry)
 Get CVE entry products. More...
 
struct cve_configuration_iteratorcve_entry::cve_entry_get_configurations (const struct cve_entry *entry)
 Get CVE . More...
 
struct cpe_testexprcve_configuration::cve_configuration_get_expr (const struct cve_configuration *conf)
 Get CVE configuration test expression. More...
 
struct cvss_impactcve_entry::cve_entry_get_cvss (const struct cve_entry *item)
 Get CVSS structure from CVE. More...
 

Setters

For lists use add functions.

Parameters of set functions are duplicated in memory and need to be freed by caller.

bool cve_model::cve_model_add_entry (struct cve_model *model, struct cve_entry *new_entry)
 Add entry to CVE model. More...
 
bool cve_entry::cve_entry_add_product (struct cve_entry *entry, struct cve_product *new_product)
 
bool cve_entry::cve_entry_add_reference (struct cve_entry *entry, struct cve_reference *new_reference)
 
bool cve_entry::cve_entry_add_summary (struct cve_entry *entry, struct cve_summary *new_summary)
 
bool cve_entry::cve_entry_add_configuration (struct cve_entry *entry, struct cve_configuration *new_configuration)
 
bool cve_entry::cve_entry_set_id (struct cve_entry *entry, const char *new_id)
 Set id of CVE entry. More...
 
bool cve_entry::cve_entry_set_published (struct cve_entry *entry, const char *new_published)
 Set publish date of CVE entry. More...
 
bool cve_entry::cve_entry_set_modified (struct cve_entry *entry, const char *new_modified)
 Set modified date of CVE entry. More...
 
bool cve_entry::cve_entry_set_sec_protection (struct cve_entry *entry, const char *new_protection)
 Set protection of CVE entry. More...
 
bool cve_entry::cve_entry_set_cwe (struct cve_entry *entry, const char *cwe)
 Set cwe of CVE entry. More...
 
bool cve_entry::cwe_entry_set_value (struct cwe_entry *entry, const char *new_value)
 Set value of CVE entry. More...
 
bool cve_reference::cve_reference_set_value (struct cve_reference *reference, const char *new_value)
 Set value of CVE reference. More...
 
bool cve_reference::cve_reference_set_href (struct cve_reference *reference, const char *new_href)
 Set href of CVE reference. More...
 
bool cve_reference::cve_reference_set_type (struct cve_reference *reference, const char *new_type)
 Set type of CVE reference. More...
 
bool cve_reference::cve_reference_set_source (struct cve_reference *reference, const char *new_source)
 Set source of CVE reference. More...
 
bool cve_reference::cve_reference_set_lang (struct cve_reference *reference, const char *new_lang)
 
bool cve_configuration::cve_configuration_set_id (struct cve_configuration *conf, const char *new_id)
 Set id of CVE configuration. More...
 
bool cve_product::cve_product_set_value (struct cve_product *product, const char *new_value)
 Set value of CVE product. More...
 
bool cve_summary::cve_summary_set_summary (struct cve_summary *summary, const char *new_summary)
 Set summary of CVE summary. More...
 

Iterators

struct cve_entrycve_entry_iterator::cve_entry_iterator_next (struct cve_entry_iterator *it)
 
bool cve_entry_iterator::cve_entry_iterator_has_more (struct cve_entry_iterator *it)
 
void cve_entry_iterator::cve_entry_iterator_free (struct cve_entry_iterator *it)
 
struct cve_summarycve_summary_iterator::cve_summary_iterator_next (struct cve_summary_iterator *it)
 
bool cve_summary_iterator::cve_summary_iterator_has_more (struct cve_summary_iterator *it)
 
void cve_summary_iterator::cve_summary_iterator_free (struct cve_summary_iterator *it)
 
struct cve_productcve_product_iterator::cve_product_iterator_next (struct cve_product_iterator *it)
 
bool cve_product_iterator::cve_product_iterator_has_more (struct cve_product_iterator *it)
 
void cve_product_iterator::cve_product_iterator_free (struct cve_product_iterator *it)
 
struct cve_configurationcve_configuration_iterator::cve_configuration_iterator_next (struct cve_configuration_iterator *it)
 
bool cve_configuration_iterator::cve_configuration_iterator_has_more (struct cve_configuration_iterator *it)
 
void cve_configuration_iterator::cve_configuration_iterator_free (struct cve_configuration_iterator *it)
 
struct cve_referencecve_reference_iterator::cve_reference_iterator_next (struct cve_reference_iterator *it)
 
bool cve_reference_iterator::cve_reference_iterator_has_more (struct cve_reference_iterator *it)
 
void cve_reference_iterator::cve_reference_iterator_free (struct cve_reference_iterator *it)
 

Evaluators

const char * cve_model::cve_model_supported (void)
 Get supported version of CVE XML. More...
 

Function Documentation

struct cve_configuration * cve_configuration_clone ( struct cve_configuration old_conf)

Clone CVE configuration.

Parameters
old_confCVE configuration
void cve_configuration_free ( struct cve_configuration conf)

Free CVE configuration.

Parameters
confCVE vulnerability configuration
struct cpe_testexpr * cve_configuration_get_expr ( const struct cve_configuration conf)

Get CVE configuration test expression.

Parameters
confCVE configuration
const char * cve_configuration_get_id ( const struct cve_configuration conf)

Get CVE configuration id.

Parameters
confCVE vulnerable configuration
struct cve_configuration * cve_configuration_new ( void  )

New CVE vulnerability configuration.

Returns
New CVE vulnerability configuration
bool cve_configuration_set_id ( struct cve_configuration conf,
const char *  new_id 
)

Set id of CVE configuration.

Parameters
confCVE vulnerability configuration
new_idid of CVE configuration
Returns
true if set, false otherwise
bool cve_entry_add_configuration ( struct cve_entry entry,
struct cve_configuration new_configuration 
)
bool cve_entry_add_product ( struct cve_entry entry,
struct cve_product new_product 
)
bool cve_entry_add_reference ( struct cve_entry entry,
struct cve_reference new_reference 
)
bool cve_entry_add_summary ( struct cve_entry entry,
struct cve_summary new_summary 
)
struct cve_entry * cve_entry_clone ( struct cve_entry old_entry)

Clone CVE entry.

Parameters
old_entryCVE entry
void cve_entry_free ( struct cve_entry entry)

Free CVE entry.

Parameters
entryCVE entry
struct cve_configuration_iterator * cve_entry_get_configurations ( const struct cve_entry entry)

Get CVE .

Parameters
entryCVE entry
struct cvss_impact * cve_entry_get_cvss ( const struct cve_entry item)

Get CVSS structure from CVE.

Parameters
itemCVE entry
const char * cve_entry_get_cwe ( const struct cve_entry item)

Get CVE entry CWE.

Parameters
itemCVE entry
const char * cve_entry_get_id ( const struct cve_entry item)

Get CVE entry ID.

Parameters
itemCVE entry
const char * cve_entry_get_modified ( const struct cve_entry entry)

Get CVE entry modified.

Parameters
entryCVE entry
struct cve_product_iterator * cve_entry_get_products ( const struct cve_entry entry)

Get CVE entry products.

Parameters
entryCVE entry
const char * cve_entry_get_published ( const struct cve_entry entry)

Get CVE entry published date.

Parameters
entryCVE entry
struct cve_reference_iterator * cve_entry_get_references ( const struct cve_entry item)

Get an iterator to CVE entry's references.

Parameters
itemCVE entry
const char * cve_entry_get_sec_protection ( const struct cve_entry entry)

Get CVE entry protection.

Parameters
entryCVE entry
struct cve_summary_iterator * cve_entry_get_summaries ( const struct cve_entry item)

Get CVE entry summary.

Parameters
itemCVE entry
struct cve_entry * cve_entry_new ( void  )

New CVE entry.

Returns
New CVE entry
bool cve_entry_set_cwe ( struct cve_entry entry,
const char *  cwe 
)

Set cwe of CVE entry.

Parameters
entryCVE entry
cweCWE of CVE

return true if set, false otherwise

bool cve_entry_set_id ( struct cve_entry entry,
const char *  new_id 
)

Set id of CVE entry.

Parameters
entryCVE entry
new_idid of CVE entry

return true if set, false otherwise

bool cve_entry_set_modified ( struct cve_entry entry,
const char *  new_modified 
)

Set modified date of CVE entry.

Parameters
entryCVE entry
new_modifiedCVE modified date

return true if set, false otherwise

bool cve_entry_set_published ( struct cve_entry entry,
const char *  new_published 
)

Set publish date of CVE entry.

Parameters
entryCVE entry
new_publisheddate of CVE attribute

return true if set, false otherwise

bool cve_entry_set_sec_protection ( struct cve_entry entry,
const char *  new_protection 
)

Set protection of CVE entry.

Parameters
entryCVE entry
new_protectionCVE protection

return true if set, false otherwise

bool cve_model_add_entry ( struct cve_model model,
struct cve_entry new_entry 
)

Add entry to CVE model.

Parameters
modelCVE model
new_entryNew CVE entry
Returns
true if added, false otherwise
struct cve_model * cve_model_clone ( struct cve_model old_model)

Clone CVE model.

Parameters
old_modelCVE model
void cve_model_free ( struct cve_model cve_model)

Free CVE model.

Parameters
cve_modelCVE model
struct cve_entry_iterator * cve_model_get_entries ( const struct cve_model cve_model)

Get en iterator to CVE entries.

Parameters
cve_modelCVE model
struct cve_model * cve_model_new ( void  )

New CVE model.

Returns
New CVE model
const char * cve_model_supported ( void  )

Get supported version of CVE XML.

Returns
version of XML file format
struct cve_product * cve_product_clone ( struct cve_product old_product)

Clone CVE product.

Parameters
old_productCVE product
void cve_product_free ( struct cve_product product)

Free CVE product.

Parameters
productCVE product
struct cve_product * cve_product_new ( void  )

New CVE product.

Returns
New CVE product
bool cve_product_set_value ( struct cve_product product,
const char *  new_value 
)

Set value of CVE product.

Parameters
productCVE product
new_valuevalue of CVE product
Returns
true if set, false otherwise
struct cve_reference * cve_reference_clone ( struct cve_reference old_ref)

Clone CVE reference.

Parameters
old_refCVE reference
void cve_reference_free ( struct cve_reference ref)

Free CVE reference.

Parameters
refCVE reference
const char * cve_reference_get_href ( const struct cve_reference ref)

Get CVE reference href.

Parameters
refCVE reference
const char * cve_reference_get_lang ( const struct cve_reference ref)
const char * cve_reference_get_source ( const struct cve_reference ref)

Get CVE reference source.

Parameters
refCVE reference
const char * cve_reference_get_type ( const struct cve_reference ref)

Get CVE reference type.

Parameters
refCVE reference
const char * cve_reference_get_value ( const struct cve_reference ref)

Get CVE reference values.

Parameters
refCVE reference
struct cve_reference * cve_reference_new ( void  )

New CVE reference.

Returns
New CVE reference
bool cve_reference_set_href ( struct cve_reference reference,
const char *  new_href 
)

Set href of CVE reference.

Parameters
referenceCVE reference
new_hrefCVE reference href href return true if set, false otherwise
bool cve_reference_set_lang ( struct cve_reference reference,
const char *  new_lang 
)
bool cve_reference_set_source ( struct cve_reference reference,
const char *  new_source 
)

Set source of CVE reference.

Parameters
referenceCVE reference
new_sourceCVE reference source

return true if set, false otherwise

bool cve_reference_set_type ( struct cve_reference reference,
const char *  new_type 
)

Set type of CVE reference.

Parameters
referenceCVE reference
new_typeCVE reference type type return true if set, false otherwise
bool cve_reference_set_value ( struct cve_reference reference,
const char *  new_value 
)

Set value of CVE reference.

Parameters
referenceCVE reference
new_valueCVE reference value

return true if set, false otherwise

struct cve_summary * cve_summary_clone ( struct cve_summary old_sum)

Clone CVE summary.

Parameters
old_sumCVE summary
void cve_summary_free ( struct cve_summary summary)

Free CVE summary.

Parameters
summaryCVE summary
const char * cve_summary_get_summary ( const struct cve_summary summary)

Get value from CVE summary.

Parameters
summaryCVE summary
struct cve_summary * cve_summary_new ( void  )

New CVE summary.

Returns
New CVE summary
bool cve_summary_set_summary ( struct cve_summary summary,
const char *  new_summary 
)

Set summary of CVE summary.

Parameters
summaryCVE summary
new_summarysummary of CVE summary
Returns
true if set, false otherwise
struct cwe_entry * cwe_entry_clone ( struct cwe_entry old_entry)

Clone CWE entry.

Parameters
old_entryCWE entry
void cwe_entry_free ( struct cwe_entry entry)

Free CVE entry.

Parameters
entryCVE entry
const char * cwe_entry_get_value ( const struct cwe_entry entry)

Get CVE entry value.

Parameters
entryCVE entry
struct cwe_entry * cwe_entry_new ( void  )

New CWE entry.

Returns
New CWE entry
bool cwe_entry_set_value ( struct cwe_entry entry,
const char *  new_value 
)

Set value of CVE entry.

Parameters
entryCVE entry
new_valueCVE value

return true if set, false otherwise