Skip to content

Commit 5418e3e

Browse files
committed
Support Ubuntu priority scoring system
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent 93888f1 commit 5418e3e

2 files changed

Lines changed: 77 additions & 0 deletions

File tree

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Generated by Django 4.2.25 on 2026-02-04 07:49
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("vulnerabilities", "0111_alter_advisoryseverity_scoring_system_and_more"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="advisoryseverity",
15+
name="scoring_system",
16+
field=models.CharField(
17+
choices=[
18+
("cvssv2", "CVSSv2 Base Score"),
19+
("cvssv3", "CVSSv3 Base Score"),
20+
("cvssv3.1", "CVSSv3.1 Base Score"),
21+
("cvssv4", "CVSSv4 Base Score"),
22+
("rhbs", "RedHat Bugzilla severity"),
23+
("rhas", "RedHat Aggregate severity"),
24+
("archlinux", "Archlinux Vulnerability Group Severity"),
25+
("cvssv3.1_qr", "CVSSv3.1 Qualitative Severity Rating"),
26+
("generic_textual", "Generic textual severity rating"),
27+
("apache_httpd", "Apache Httpd Severity"),
28+
("apache_tomcat", "Apache Tomcat Severity"),
29+
("epss", "Exploit Prediction Scoring System"),
30+
("ssvc", "Stakeholder-Specific Vulnerability Categorization"),
31+
("openssl", "OpenSSL Severity"),
32+
("ubuntu", "Ubuntu priority"),
33+
],
34+
help_text="Identifier for the scoring system used. Available choices are: cvssv2: CVSSv2 Base Score,\ncvssv3: CVSSv3 Base Score,\ncvssv3.1: CVSSv3.1 Base Score,\ncvssv4: CVSSv4 Base Score,\nrhbs: RedHat Bugzilla severity,\nrhas: RedHat Aggregate severity,\narchlinux: Archlinux Vulnerability Group Severity,\ncvssv3.1_qr: CVSSv3.1 Qualitative Severity Rating,\ngeneric_textual: Generic textual severity rating,\napache_httpd: Apache Httpd Severity,\napache_tomcat: Apache Tomcat Severity,\nepss: Exploit Prediction Scoring System,\nssvc: Stakeholder-Specific Vulnerability Categorization,\nopenssl: OpenSSL Severity,\nubuntu: Ubuntu priority ",
35+
max_length=50,
36+
),
37+
),
38+
migrations.AlterField(
39+
model_name="vulnerabilityseverity",
40+
name="scoring_system",
41+
field=models.CharField(
42+
choices=[
43+
("cvssv2", "CVSSv2 Base Score"),
44+
("cvssv3", "CVSSv3 Base Score"),
45+
("cvssv3.1", "CVSSv3.1 Base Score"),
46+
("cvssv4", "CVSSv4 Base Score"),
47+
("rhbs", "RedHat Bugzilla severity"),
48+
("rhas", "RedHat Aggregate severity"),
49+
("archlinux", "Archlinux Vulnerability Group Severity"),
50+
("cvssv3.1_qr", "CVSSv3.1 Qualitative Severity Rating"),
51+
("generic_textual", "Generic textual severity rating"),
52+
("apache_httpd", "Apache Httpd Severity"),
53+
("apache_tomcat", "Apache Tomcat Severity"),
54+
("epss", "Exploit Prediction Scoring System"),
55+
("ssvc", "Stakeholder-Specific Vulnerability Categorization"),
56+
("openssl", "OpenSSL Severity"),
57+
("ubuntu", "Ubuntu priority"),
58+
],
59+
help_text="Identifier for the scoring system used. Available choices are: cvssv2: CVSSv2 Base Score,\ncvssv3: CVSSv3 Base Score,\ncvssv3.1: CVSSv3.1 Base Score,\ncvssv4: CVSSv4 Base Score,\nrhbs: RedHat Bugzilla severity,\nrhas: RedHat Aggregate severity,\narchlinux: Archlinux Vulnerability Group Severity,\ncvssv3.1_qr: CVSSv3.1 Qualitative Severity Rating,\ngeneric_textual: Generic textual severity rating,\napache_httpd: Apache Httpd Severity,\napache_tomcat: Apache Tomcat Severity,\nepss: Exploit Prediction Scoring System,\nssvc: Stakeholder-Specific Vulnerability Categorization,\nopenssl: OpenSSL Severity,\nubuntu: Ubuntu priority ",
60+
max_length=50,
61+
),
62+
),
63+
]

vulnerabilities/severity_systems.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,19 @@ def get(self, scoring_elements: str) -> dict:
196196
"Low",
197197
]
198198

199+
UBUNTU = ScoringSystem(
200+
identifier="ubuntu",
201+
name="Ubuntu priority",
202+
url="https://ubuntu.com/security/cves/about#priority",
203+
)
204+
UBUNTU.choices = [
205+
"Critical",
206+
"High",
207+
"Medium",
208+
"Low",
209+
"Negligible",
210+
]
211+
199212

200213
@dataclasses.dataclass(order=True)
201214
class EPSSScoringSystem(ScoringSystem):
@@ -239,5 +252,6 @@ def get(self, scoring_elements: str):
239252
EPSS,
240253
SSVC,
241254
OPENSSL,
255+
UBUNTU,
242256
)
243257
}

0 commit comments

Comments
 (0)