Skip to content

Commit ec69956

Browse files
committed
fix(vulnerability): use VendorSeverity fallback before returning UNKNOWN
When neither the data source nor NVD have a severity entry, iterate VendorSeverity in AllSourceIDs priority order to find any available source. This ensures SeveritySource is set whenever vendor data is available, instead of silently returning severity from the top-level Severity field with an empty SeveritySource.
1 parent 026b599 commit ec69956

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

pkg/vulnerability/vulnerability.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,16 @@ func (c Client) autoDetectSeverity(vulnID string, vuln *dbTypes.Vulnerability, d
162162
return severity, severitySource
163163
}
164164

165-
if vuln.Severity == "" {
166-
return dbTypes.SeverityUnknown.String(), ""
165+
// Fall back to any available VendorSeverity source in AllSourceIDs priority order.
166+
// This handles cases where neither the data source nor NVD have a severity entry.
167+
for _, source := range vulnerability.AllSourceIDs {
168+
if severity, ok := vuln.VendorSeverity[source]; ok {
169+
onceWarn()
170+
return severity.String(), source
171+
}
167172
}
168173

169-
onceWarn()
170-
return vuln.Severity, ""
174+
return dbTypes.SeverityUnknown.String(), ""
171175
}
172176

173177
func (c Client) getPrimaryURL(vulnID string, refs []string, source dbTypes.SourceID) string {

0 commit comments

Comments
 (0)