This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-steward.git


The following commit(s) were added to refs/heads/main by this push:
     new 5f86430c fix(cve-tool): lower-case ASF qualitative severity words 
(moderate/important) (#478)
5f86430c is described below

commit 5f86430c160dc99d103d268b35aeff2d44aa3586
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu Jun 11 10:24:02 2026 +0200

    fix(cve-tool): lower-case ASF qualitative severity words 
(moderate/important) (#478)
    
    normalise_severity only lower-cased the CVSS set 
{none,low,medium,high,critical},
    so the ASF qualitative words 'Moderate' and 'Important' fell through 
unchanged and
    landed capitalized in the CVE record's metrics[] 'Textual description of 
severity'.
    Add moderate/important to the set so the full ASF rating set
    (low/moderate/important/critical) is emitted lower-case, matching the ASF
    severity-rating convention.
---
 .../generate-cve-json/src/generate_cve_json/cve_json.py              | 5 +++--
 .../generate-cve-json/tests/test_generate_cve_json.py                | 4 +++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git 
a/tools/cve-tool-vulnogram/generate-cve-json/src/generate_cve_json/cve_json.py 
b/tools/cve-tool-vulnogram/generate-cve-json/src/generate_cve_json/cve_json.py
index ce91bd68..a0f52e1e 100644
--- 
a/tools/cve-tool-vulnogram/generate-cve-json/src/generate_cve_json/cve_json.py
+++ 
b/tools/cve-tool-vulnogram/generate-cve-json/src/generate_cve_json/cve_json.py
@@ -774,10 +774,11 @@ def parse_affected_versions(value: str, 
version_start_override: str | None) -> l
 
 def normalise_severity(value: str) -> str:
     """Return the severity as a lower-case word
-    (``none`` / ``low`` / ``medium`` / ``high`` / ``critical``) or the
+    (``none`` / ``low`` / ``moderate`` / ``medium`` / ``high`` / ``important`` 
/
+    ``critical``) or the
     original text if it doesn't match the standard set."""
     lowered = value.strip().lower()
-    if lowered in {"none", "low", "medium", "high", "critical"}:
+    if lowered in {"none", "low", "moderate", "medium", "high", "important", 
"critical"}:
         return lowered
     return value.strip()
 
diff --git 
a/tools/cve-tool-vulnogram/generate-cve-json/tests/test_generate_cve_json.py 
b/tools/cve-tool-vulnogram/generate-cve-json/tests/test_generate_cve_json.py
index b9d4b6d9..a8308f34 100644
--- a/tools/cve-tool-vulnogram/generate-cve-json/tests/test_generate_cve_json.py
+++ b/tools/cve-tool-vulnogram/generate-cve-json/tests/test_generate_cve_json.py
@@ -1416,7 +1416,7 @@ class TestCombineRemediationDevelopers:
 
 class TestNormaliseSeverity:
     def test_known_values_are_lowercased(self):
-        for raw in ("None", "Low", "Medium", "High", "Critical"):
+        for raw in ("None", "Low", "Moderate", "Medium", "High", "Important", 
"Critical"):
             assert normalise_severity(raw) == raw.lower()
 
     def test_already_lowercase_known_value_passes_through(self):
@@ -1428,6 +1428,8 @@ class TestNormaliseSeverity:
     def test_mixed_case_known_value_normalised(self):
         assert normalise_severity("HIGH") == "high"
         assert normalise_severity("CRITICAL") == "critical"
+        assert normalise_severity("MODERATE") == "moderate"
+        assert normalise_severity("Important") == "important"
 
 
 # ---------------------------------------------------------------------------

Reply via email to