diff --git a/utils/oval/oval.go b/utils/oval/oval.go index 2b89a6500a..ac3f2bb51f 100644 --- a/utils/oval/oval.go +++ b/utils/oval/oval.go @@ -231,8 +231,23 @@ func link(def definition) (link string) { } func priority(def definition) types.Priority { - // The OVAL files provided by SUSE doesn't include any priority/severity yet. - return types.Unknown + // Parse the priority. + priority := strings.TrimSpace(def.Title[strings.LastIndex(def.Title, "(")+1 : len(def.Title)-1]) + + // Normalize the priority. + switch priority { + case "Low": + return types.Low + case "Moderate": + return types.Medium + case "Important": + return types.High + case "Critical": + return types.Critical + default: + log.Warning("could not determine vulnerability priority from: %s.", priority) + return types.Unknown + } } func getCriterions(node criteria) [][]criterion {