@@ -206,17 +206,8 @@ type CVSSV2 struct {
206206 UserInteractionRequired bool `json:"userInteractionRequired,omitempty" mapstructure:"userInteractionRequired,omitempty" yaml:"userInteractionRequired,omitempty"`
207207}
208208
209- // CVSS V3.0 score. (hand-generated)
210- type CVSSV30 struct {
211- Source string `json:"source" mapstructure:"source" yaml:"source"`
212- Type string `json:"type" mapstructure:"type" yaml:"type"`
213- CVSSData CVSS `json:"cvssData" mapstructure:"cvssData" yaml:"cvssData"`
214- ExploitabilityScore * DefSubscore `json:"exploitabilityScore,omitempty" mapstructure:"exploitabilityScore,omitempty" yaml:"exploitabilityScore,omitempty"`
215- ImpactScore * DefSubscore `json:"impactScore,omitempty" mapstructure:"impactScore,omitempty" yaml:"impactScore,omitempty"`
216- }
217-
218- // CVSS V3.1 score. (hand-generated)
219- type CVSSV31 struct {
209+ // CVSS Score to encapsulate V3.0, V3.1, V4.0 structs
210+ type BaseCVSSNVD struct {
220211 Source string `json:"source" mapstructure:"source" yaml:"source"`
221212 Type string `json:"type" mapstructure:"type" yaml:"type"`
222213 CVSSData CVSS `json:"cvssData" mapstructure:"cvssData" yaml:"cvssData"`
@@ -230,10 +221,13 @@ type CVEItemMetrics struct {
230221 CVSSMetricV2 []CVSSV2 `json:"cvssMetricV2,omitempty" mapstructure:"cvssMetricV2,omitempty" yaml:"cvssMetricV2,omitempty"`
231222
232223 // CVSS V3.0 score.
233- CVSSMetricV30 []CVSSV30 `json:"cvssMetricV30,omitempty" mapstructure:"cvssMetricV30,omitempty" yaml:"cvssMetricV30,omitempty"`
224+ CVSSMetricV30 []BaseCVSSNVD `json:"cvssMetricV30,omitempty" mapstructure:"cvssMetricV30,omitempty" yaml:"cvssMetricV30,omitempty"`
234225
235226 // CVSS V3.1 score.
236- CVSSMetricV31 []CVSSV31 `json:"cvssMetricV31,omitempty" mapstructure:"cvssMetricV31,omitempty" yaml:"cvssMetricV31,omitempty"`
227+ CVSSMetricV31 []BaseCVSSNVD `json:"cvssMetricV31,omitempty" mapstructure:"cvssMetricV31,omitempty" yaml:"cvssMetricV31,omitempty"`
228+
229+ // CVSS V4 score
230+ CVSSMetricV40 []BaseCVSSNVD `json:"cvssMetricV40,omitempty" mapstructure:"cvssMetricV40,omitempty" yaml:"cvssMetricV40,omitempty"`
237231}
238232
239233type Reference struct {
0 commit comments