[][src]Struct cvss::v3::base::Base

pub struct Base {
    pub minor_version: usize,
    pub av: Option<AttackVector>,
    pub ac: Option<AttackComplexity>,
    pub pr: Option<PrivilegesRequired>,
    pub ui: Option<UserInteraction>,
    pub s: Option<Scope>,
    pub c: Option<Confidentiality>,
    pub i: Option<Integrity>,
    pub a: Option<Availability>,
}

CVSS v3.1 Base Metric Group

Described in CVSS v3.1 Specification: Section 2: https://www.first.org/cvss/specification-document#t6

The Base metric group represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. It is composed of two sets of metrics: the Exploitability metrics and the Impact metrics.

The Exploitability metrics reflect the ease and technical means by which the vulnerability can be exploited. That is, they represent characteristics of the thing that is vulnerable, which we refer to formally as the vulnerable component. The Impact metrics reflect the direct consequence of a successful exploit, and represent the consequence to the thing that suffers the impact, which we refer to formally as the impacted component.

While the vulnerable component is typically a software application, module, driver, etc. (or possibly a hardware device), the impacted component could be a software application, a hardware device or a network resource. This potential for measuring the impact of a vulnerability other than the vulnerable component, was a key feature introduced with CVSS v3.0. This property is captured by the Scope metric.

Fields

minor_version: usize

Minor component of the version

av: Option<AttackVector>

Attack Vector (AV)

ac: Option<AttackComplexity>

Attack Complexity (AC)

pr: Option<PrivilegesRequired>

Privileges Required (PR)

ui: Option<UserInteraction>

User Interaction (UI)

s: Option<Scope>

Scope (S)

c: Option<Confidentiality>

Confidentiality Impact (C)

i: Option<Integrity>

Integrity Impact (I)

a: Option<Availability>

Availability Impact (A)

Methods

impl Base[src]

pub fn score(&self) -> Score[src]

Calculate Base CVSS score: overall value for determining the severity of a vulnerability, generally referred to as the "CVSS score".

Described in CVSS v3.1 Specification: Section 2: https://www.first.org/cvss/specification-document#t6

When the Base metrics are assigned values by an analyst, the Base equation computes a score ranging from 0.0 to 10.0.

Specifically, the Base equation is derived from two sub equations: the Exploitability sub-score equation, and the Impact sub-score equation. The Exploitability sub-score equation is derived from the Base Exploitability metrics, while the Impact sub-score equation is derived from the Base Impact metrics.

pub fn exploitability(&self) -> Score[src]

Calculate Base Exploitability score: sub-score for measuring ease of exploitation.

Described in CVSS v3.1 Specification: Section 2: https://www.first.org/cvss/specification-document#t6

The Exploitability metrics reflect the ease and technical means by which the vulnerability can be exploited. That is, they represent characteristics of the thing that is vulnerable, which we refer to formally as the vulnerable component.

pub fn impact(&self) -> Score[src]

Calculate Base Impact Score (ISS): sub-score for measuring the consequences of successful exploitation.

Described in CVSS v3.1 Specification: Section 2: https://www.first.org/cvss/specification-document#t6

The Impact metrics reflect the direct consequence of a successful exploit, and represent the consequence to the thing that suffers the impact, which we refer to formally as the impacted component.

pub fn severity(&self) -> Severity[src]

Calculate Base CVSS Severity according to the Qualitative Severity Rating Scale (i.e. Low / Medium / High / Critical)

Described in CVSS v3.1 Specification: Section 5: https://www.first.org/cvss/specification-document#t17

Trait Implementations

impl Eq for Base[src]

impl Default for Base[src]

impl Clone for Base[src]

impl PartialEq<Base> for Base[src]

impl Display for Base[src]

impl Debug for Base[src]

impl FromStr for Base[src]

type Err = Error

The associated error which can be returned from parsing.

impl Serialize for Base[src]

impl<'de> Deserialize<'de> for Base[src]

Auto Trait Implementations

impl Unpin for Base

impl Sync for Base

impl Send for Base

impl UnwindSafe for Base

impl RefUnwindSafe for Base

Blanket Implementations

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]