Open SCAP Library

Files | Data Structures | Functions
CVE

Common Vulnerabilities and Exposures. More...

## Files
file | cve_nvd.h
| Interface to Common Vulnerability and Exposure dictionary.

## 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...

## Functions
struct cve_entry * | cve_entry::cve_entry_new (void)
| New CVE entry. More...
struct cve_configuration * | cve_configuration::cve_configuration_new (void)
| New CVE vulnerability configuration. More...
struct cwe_entry * | cwe_entry::cwe_entry_new (void)
| New CWE entry. More...
struct cve_product * | cve_product::cve_product_new (void)
| New CVE product. More...
struct cve_summary * | cve_summary::cve_summary_new (void)
| New CVE summary. More...
struct cve_reference * | cve_reference::cve_reference_new (void)
| New CVE reference. More...
struct cve_model * | cve_model::cve_model_new (void)
| New CVE model. More...
struct cve_entry * | cve_entry::cve_entry_clone (struct cve_entry *old_entry)
| Clone CVE entry. More...
struct cve_configuration * | cve_configuration::cve_configuration_clone (struct cve_configuration *old_conf)
| Clone CVE configuration. More...
struct cwe_entry * | cwe_entry::cwe_entry_clone (struct cwe_entry *old_entry)
| Clone CWE entry. More...
struct cve_product * | cve_product::cve_product_clone (struct cve_product *old_product)
| Clone CVE product. More...
struct cve_summary * | cve_summary::cve_summary_clone (struct cve_summary *old_sum)
| Clone CVE summary. More...
struct cve_reference * | cve_reference::cve_reference_clone (struct cve_reference *old_ref)
| Clone CVE reference. More...
struct cve_model * | cve_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_iterator * | cve_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_iterator * | cve_entry::cve_entry_get_summaries (const struct cve_entry *item)
| Get CVE entry summary. More...
struct cve_reference_iterator * | cve_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_iterator * | cve_entry::cve_entry_get_products (const struct cve_entry *entry)
| Get CVE entry products. More...
struct cve_configuration_iterator * | cve_entry::cve_entry_get_configurations (const struct cve_entry *entry)
| Get CVE . More...
const struct cpe_testexpr * | cve_configuration::cve_configuration_get_expr (const struct cve_configuration *conf)
| Get CVE configuration test expression. More...
const struct cvss_impact * | cve_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_entry * | cve_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_summary * | cve_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_product * | cve_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_configuration * | cve_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_reference * | cve_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...

## Detailed Description

Common Vulnerabilities and Exposures.

Class diagram

## Function Documentation

## ◆ cve_configuration_clone()

struct cve_configuration * cve_configuration_clone | ( | struct cve_configuration * | old_conf | ) |

Clone CVE configuration.

Parameters

  old_conf | CVE configuration

## ◆ cve_configuration_free()

void cve_configuration_free | ( | struct cve_configuration * | conf | ) |

Free CVE configuration.

Parameters

  conf | CVE vulnerability configuration

## ◆ cve_configuration_get_expr()

const struct cpe_testexpr * cve_configuration_get_expr | ( | const struct cve_configuration * | conf | ) |

Get CVE configuration test expression.

Parameters

  conf | CVE configuration

## ◆ cve_configuration_get_id()

const char * cve_configuration_get_id | ( | const struct cve_configuration * | conf | ) |

Get CVE configuration id.

Parameters

  conf | CVE vulnerable configuration

## ◆ cve_configuration_new()

struct cve_configuration * cve_configuration_new | ( | void |  | ) |

New CVE vulnerability configuration.

Returns
  New CVE vulnerability configuration

## ◆ cve_configuration_set_id()

bool cve_configuration_set_id | ( | struct cve_configuration * | conf,
|  | const char * | new_id
| ) |  |

Set id of CVE configuration.

Parameters

  conf | CVE vulnerability configuration
  new_id | id of CVE configuration

Returns
  true if set, false otherwise

## ◆ cve_entry_add_configuration()

bool cve_entry_add_configuration | ( | struct cve_entry * | entry,
|  | struct cve_configuration * | new_configuration
| ) |  |

## ◆ cve_entry_add_product()

bool cve_entry_add_product | ( | struct cve_entry * | entry,
|  | struct cve_product * | new_product
| ) |  |

## ◆ cve_entry_add_reference()

bool cve_entry_add_reference | ( | struct cve_entry * | entry,
|  | struct cve_reference * | new_reference
| ) |  |

## ◆ cve_entry_add_summary()

bool cve_entry_add_summary | ( | struct cve_entry * | entry,
|  | struct cve_summary * | new_summary
| ) |  |

## ◆ cve_entry_clone()

struct cve_entry * cve_entry_clone | ( | struct cve_entry * | old_entry | ) |

Clone CVE entry.

Parameters

  old_entry | CVE entry

## ◆ cve_entry_free()

void cve_entry_free | ( | struct cve_entry * | entry | ) |

Free CVE entry.

Parameters

  entry | CVE entry

## ◆ cve_entry_get_configurations()

struct cve_configuration_iterator * cve_entry_get_configurations | ( | const struct cve_entry * | entry | ) |

Get CVE .

Parameters

  entry | CVE entry

## ◆ cve_entry_get_cvss()

const struct cvss_impact * cve_entry_get_cvss | ( | const struct cve_entry * | item | ) |

Get CVSS structure from CVE.

Parameters

  item | CVE entry

## ◆ cve_entry_get_cwe()

const char * cve_entry_get_cwe | ( | const struct cve_entry * | item | ) |

Get CVE entry CWE.

Parameters

  item | CVE entry

## ◆ cve_entry_get_id()

const char * cve_entry_get_id | ( | const struct cve_entry * | item | ) |

Get CVE entry ID.

Parameters

  item | CVE entry

## ◆ cve_entry_get_modified()

const char * cve_entry_get_modified | ( | const struct cve_entry * | entry | ) |

Get CVE entry modified.

Parameters

  entry | CVE entry

## ◆ cve_entry_get_products()

struct cve_product_iterator * cve_entry_get_products | ( | const struct cve_entry * | entry | ) |

Get CVE entry products.

Parameters

  entry | CVE entry

## ◆ cve_entry_get_published()

const char * cve_entry_get_published | ( | const struct cve_entry * | entry | ) |

Get CVE entry published date.

Parameters

  entry | CVE entry

## ◆ cve_entry_get_references()

struct cve_reference_iterator * cve_entry_get_references | ( | const struct cve_entry * | item | ) |

Get an iterator to CVE entry's references.

Parameters

  item | CVE entry

## ◆ cve_entry_get_sec_protection()

const char * cve_entry_get_sec_protection | ( | const struct cve_entry * | entry | ) |

Get CVE entry protection.

Parameters

  entry | CVE entry

## ◆ cve_entry_get_summaries()

struct cve_summary_iterator * cve_entry_get_summaries | ( | const struct cve_entry * | item | ) |

Get CVE entry summary.

Parameters

  item | CVE entry

## ◆ cve_entry_new()

struct cve_entry * cve_entry_new | ( | void |  | ) |

New CVE entry.

Returns
  New CVE entry

## ◆ cve_entry_set_cwe()

bool cve_entry_set_cwe | ( | struct cve_entry * | entry,
|  | const char * | cwe
| ) |  |

Set cwe of CVE entry.

Parameters

  entry | CVE entry
  cwe | CWE of CVE

return true if set, false otherwise

## ◆ cve_entry_set_id()

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

Set id of CVE entry.

Parameters

  entry | CVE entry
  new_id | id of CVE entry

return true if set, false otherwise

## ◆ cve_entry_set_modified()

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

Set modified date of CVE entry.

Parameters

  entry | CVE entry
  new_modified | CVE modified date

return true if set, false otherwise

## ◆ cve_entry_set_published()

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

Set publish date of CVE entry.

Parameters

  entry | CVE entry
  new_published | date of CVE attribute

return true if set, false otherwise

## ◆ cve_entry_set_sec_protection()

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

Set protection of CVE entry.

Parameters

  entry | CVE entry
  new_protection | CVE protection

return true if set, false otherwise

## ◆ cve_model_add_entry()

bool cve_model_add_entry | ( | struct cve_model * | model,
|  | struct cve_entry * | new_entry
| ) |  |

Add entry to CVE model.

Parameters

  model | CVE model
  new_entry | New CVE entry

Returns
  true if added, false otherwise

## ◆ cve_model_clone()

struct cve_model * cve_model_clone | ( | struct cve_model * | old_model | ) |

Clone CVE model.

Parameters

  old_model | CVE model

## ◆ cve_model_free()

void cve_model_free | ( | struct cve_model * | cve_model | ) |

Free CVE model.

Parameters

  cve_model | CVE model

## ◆ cve_model_get_entries()

struct cve_entry_iterator * cve_model_get_entries | ( | const struct cve_model * | cve_model | ) |

Get en iterator to CVE entries.

Parameters

  cve_model | CVE model

## ◆ cve_model_new()

struct cve_model * cve_model_new | ( | void |  | ) |

New CVE model.

Returns
  New CVE model

## ◆ cve_model_supported()

const char * cve_model_supported | ( | void |  | ) |

Get supported version of CVE XML.

Returns
  version of XML file format

## ◆ cve_product_clone()

struct cve_product * cve_product_clone | ( | struct cve_product * | old_product | ) |

Clone CVE product.

Parameters

  old_product | CVE product

## ◆ cve_product_free()

void cve_product_free | ( | struct cve_product * | product | ) |

Free CVE product.

Parameters

  product | CVE product

## ◆ cve_product_new()

struct cve_product * cve_product_new | ( | void |  | ) |

New CVE product.

Returns
  New CVE product

## ◆ cve_product_set_value()

bool cve_product_set_value | ( | struct cve_product * | product,
|  | const char * | new_value
| ) |  |

Set value of CVE product.

Parameters

  product | CVE product
  new_value | value of CVE product

Returns
  true if set, false otherwise

## ◆ cve_reference_clone()

struct cve_reference * cve_reference_clone | ( | struct cve_reference * | old_ref | ) |

Clone CVE reference.

Parameters

  old_ref | CVE reference

## ◆ cve_reference_free()

void cve_reference_free | ( | struct cve_reference * | ref | ) |

Free CVE reference.

Parameters

  ref | CVE reference

## ◆ cve_reference_get_href()

const char * cve_reference_get_href | ( | const struct cve_reference * | ref | ) |

Get CVE reference href.

Parameters

  ref | CVE reference

## ◆ cve_reference_get_lang()

const char * cve_reference_get_lang | ( | const struct cve_reference * | ref | ) |

## ◆ cve_reference_get_source()

const char * cve_reference_get_source | ( | const struct cve_reference * | ref | ) |

Get CVE reference source.

Parameters

  ref | CVE reference

## ◆ cve_reference_get_type()

const char * cve_reference_get_type | ( | const struct cve_reference * | ref | ) |

Get CVE reference type.

Parameters

  ref | CVE reference

## ◆ cve_reference_get_value()

const char * cve_reference_get_value | ( | const struct cve_reference * | ref | ) |

Get CVE reference values.

Parameters

  ref | CVE reference

## ◆ cve_reference_new()

struct cve_reference * cve_reference_new | ( | void |  | ) |

New CVE reference.

Returns
  New CVE reference

## ◆ cve_reference_set_href()

bool cve_reference_set_href | ( | struct cve_reference * | reference,
|  | const char * | new_href
| ) |  |

Set href of CVE reference.

Parameters

  reference | CVE reference
  new_href | CVE reference href href return true if set, false otherwise

## ◆ cve_reference_set_lang()

bool cve_reference_set_lang | ( | struct cve_reference * | reference,
|  | const char * | new_lang
| ) |  |

## ◆ cve_reference_set_source()

bool cve_reference_set_source | ( | struct cve_reference * | reference,
|  | const char * | new_source
| ) |  |

Set source of CVE reference.

Parameters

  reference | CVE reference
  new_source | CVE reference source

return true if set, false otherwise

## ◆ cve_reference_set_type()

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

Set type of CVE reference.

Parameters

  reference | CVE reference
  new_type | CVE reference type type return true if set, false otherwise

## ◆ cve_reference_set_value()

bool cve_reference_set_value | ( | struct cve_reference * | reference,
|  | const char * | new_value
| ) |  |

Set value of CVE reference.

Parameters

  reference | CVE reference
  new_value | CVE reference value

return true if set, false otherwise

## ◆ cve_summary_clone()

struct cve_summary * cve_summary_clone | ( | struct cve_summary * | old_sum | ) |

Clone CVE summary.

Parameters

  old_sum | CVE summary

## ◆ cve_summary_free()

void cve_summary_free | ( | struct cve_summary * | summary | ) |

Free CVE summary.

Parameters

  summary | CVE summary

## ◆ cve_summary_get_summary()

const char * cve_summary_get_summary | ( | const struct cve_summary * | summary | ) |

Get value from CVE summary.

Parameters

  summary | CVE summary

## ◆ cve_summary_new()

struct cve_summary * cve_summary_new | ( | void |  | ) |

New CVE summary.

Returns
  New CVE summary

## ◆ cve_summary_set_summary()

bool cve_summary_set_summary | ( | struct cve_summary * | summary,
|  | const char * | new_summary
| ) |  |

Set summary of CVE summary.

Parameters

  summary | CVE summary
  new_summary | summary of CVE summary

Returns
  true if set, false otherwise

## ◆ cwe_entry_clone()

struct cwe_entry * cwe_entry_clone | ( | struct cwe_entry * | old_entry | ) |

Clone CWE entry.

Parameters

  old_entry | CWE entry

## ◆ cwe_entry_free()

void cwe_entry_free | ( | struct cwe_entry * | entry | ) |

Free CVE entry.

Parameters

  entry | CVE entry

## ◆ cwe_entry_get_value()

const char * cwe_entry_get_value | ( | const struct cwe_entry * | entry | ) |

Get CVE entry value.

Parameters

  entry | CVE entry

## ◆ cwe_entry_new()

struct cwe_entry * cwe_entry_new | ( | void |  | ) |

New CWE entry.

Returns
  New CWE entry

## ◆ cwe_entry_set_value()

bool cwe_entry_set_value | ( | struct cwe_entry * | entry,
|  | const char * | new_value
| ) |  |

Set value of CVE entry.

Parameters

  entry | CVE entry
  new_value | CVE value

return true if set, false otherwise