Skip to main content

osv_db/types/
severity.rs

1use serde::Deserialize;
2
3/// A severity rating expressed in a specific scoring system.
4#[derive(Debug, Clone, Deserialize)]
5pub struct Severity {
6    /// The scoring system used.
7    #[serde(rename = "type")]
8    pub severity_type: SeverityType,
9    /// Score string whose format is defined by [`SeverityType`].
10    pub score: String,
11}
12
13/// Supported vulnerability severity scoring systems.
14#[derive(Debug, Clone, PartialEq, Eq, Deserialize)]
15pub enum SeverityType {
16    /// Common Vulnerability Scoring System v2.
17    #[serde(rename = "CVSS_V2")]
18    CvssV2,
19    /// Common Vulnerability Scoring System v3.
20    #[serde(rename = "CVSS_V3")]
21    CvssV3,
22    /// Common Vulnerability Scoring System v4.
23    #[serde(rename = "CVSS_V4")]
24    CvssV4,
25    /// Ubuntu severity levels (`negligible`, `low`, `medium`, `high`, `critical`).
26    Ubuntu,
27}