[][src]Enum cvss::v3::base::s::Scope

pub enum Scope {
    Unchanged,
    Changed,
}

Scope (S) - CVSS v3.1 Base Metric Group

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

The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.

Formally, a security authority is a mechanism (e.g., an application, an operating system, firmware, a sandbox environment) that defines and enforces access control in terms of how certain subjects/actors (e.g., human users, processes) can access certain restricted objects/resources (e.g., files, CPU, memory) in a controlled manner. All the subjects and objects under the jurisdiction of a single security authority are considered to be under one security scope. If a vulnerability in a vulnerable component can affect a component which is in a different security scope than the vulnerable component, a Scope change occurs. Intuitively, whenever the impact of a vulnerability breaches a security/trust boundary and impacts components outside the security scope in which vulnerable component resides, a Scope change occurs.

The security scope of a component encompasses other components that provide functionality solely to that component, even if these other components have their own security authority. For example, a database used solely by one application is considered part of that application’s security scope even if the database has its own security authority, e.g., a mechanism controlling access to database records based on database users and associated database privileges.

The Base Score is greatest when a scope change occurs.

Variants

Unchanged

Unchanged (U)

An exploited vulnerability can only affect resources managed by the same security authority. In this case, the vulnerable component and the impacted component are either the same, or both are managed by the same security authority.

Changed

Changed (C)

An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component. In this case, the vulnerable component and the impacted component are different and managed by different security authorities.

Methods

impl Scope[src]

pub fn is_changed(self) -> bool[src]

Has the scope changed?

Trait Implementations

impl Eq for Scope[src]

impl Clone for Scope[src]

impl PartialOrd<Scope> for Scope[src]

impl Ord for Scope[src]

impl PartialEq<Scope> for Scope[src]

impl Copy for Scope[src]

impl Display for Scope[src]

impl Debug for Scope[src]

impl FromStr for Scope[src]

type Err = Error

The associated error which can be returned from parsing.

Auto Trait Implementations

impl Unpin for Scope

impl Sync for Scope

impl Send for Scope

impl UnwindSafe for Scope

impl RefUnwindSafe for Scope

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]