pub enum AccessVector {
Local,
AdjacentNetwork,
Network,
}Expand description
Metric::AccessVector (AV) values.
§Description
This metric reflects how the vulnerability is exploited. The more remote an attacker can be to attack a host, the greater the vulnerability score.
§Properties
- Metric Group: Base
- Documentation: CVSS v2.0 Documentation, Section 2.1.1: Access Vector (
AV)
§Examples
Parse string as metric and check it:
// parse string as metric
let metric: Metric = "AV:N".parse()?;
// check result
assert_eq!(metric, Metric::AccessVector(AccessVector::Network));Convert metric to string:
// convert metric to string
let s = Metric::AccessVector(AccessVector::AdjacentNetwork).to_string();
// check result
assert_eq!(s, "AV:A");Get metric name:
// get metric name
let name = Name::from(Metric::AccessVector(AccessVector::Local));
// check result
assert_eq!(name, Name::AccessVector);Variants§
Local
Local (L)
A vulnerability exploitable with only local access requires the attacker to have either physical access to the vulnerable system or a local (shell) account. Examples of locally exploitable vulnerabilities are peripheral attacks such as Firewire/USB DMA attacks, and local privilege escalations (e.g., sudo).
AdjacentNetwork
Adjacent Network (A)
A vulnerability exploitable with adjacent network access requires the attacker to have access to either the broadcast or collision domain of the vulnerable software. Examples of local networks include local IP subnet, Bluetooth, IEEE 802.11, and local Ethernet segment.
Network
Network (N)
A vulnerability exploitable with network access means the vulnerable software is bound to the network stack and the attacker does not require local network access or local access. Such a vulnerability is often termed “remotely exploitable”. An example of a network attack is an RPC buffer overflow.
Trait Implementations§
Source§impl Clone for AccessVector
impl Clone for AccessVector
Source§fn clone(&self) -> AccessVector
fn clone(&self) -> AccessVector
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more