CVSS v3.x
CVSS::V3::Vector class and metric enums (handles both v3.0 and v3.1)
CVSS::V3::Vector
A single class handles both CVSS v3.0 and CVSS v3.1 ; only the RoundUp algorithm and the modified-impact polynomial differ. The parsed version is preserved on to_s.
v = CVSS :: V3 :: Vector .parse(" CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H " )
v.base_score
v.iss
v.impact_subscore
v.exploitability_subscore
v.network?
v.scope_changed?
Class methods
Method
Description
parse(input : String) : Vector
Requires the CVSS:3.0/ or CVSS:3.1/ prefix.
parse?(input : String) : Vector?
Non-raising.
Constructor
CVSS :: V3 :: Vector .new(
av:, ac:, pr:, ui:, s:, c:, i:, a:,
version: " 3.1 " ,
e: nil , rl: nil , rc: nil ,
cr: nil , ir: nil , ar: nil ,
mav: nil , mac: nil , mpr: nil , mui: nil , ms: nil ,
mc: nil , mi: nil , ma: nil ,
)
version: "9.9" (or any unsupported value) raises CVSS::Error.
Scoring
Method
Description
base_score : Float64
Spec base score with version-aware RoundUp.
temporal_score : Float64
Applies E/RL/RC multipliers. Equals base_score when no temporal metrics are set.
environmental_score : Float64
Applies CR/IR/AR + Modified-base overrides. v3.0 and v3.1 use different modified-impact polynomials.
Sub-scores
Method
Description
iss : Float64
Impact Sub-Score before scope-aware scaling.
impact_subscore : Float64
Scope-aware impact (the Impact term in the spec).
exploitability_subscore : Float64
The Exploitability term.
Severity
Method
Description
severity / temporal_severity / environmental_severity
All return CVSS::Severity.
Classification helpers
Method
Returns
network? / adjacent_network? / local? / physical?
Bool
requires_privileges?
Bool (true when PR != N)
requires_user_interaction?
Bool (true when UI:R)
scope_changed? / scope_unchanged?
Bool
impacts_confidentiality? / impacts_integrity? / impacts_availability?
Bool
Serialization
Method
Description
to_s
Canonical FIRST ordering.
to_h : Hash(String, String)
Metric short-codes.
to_json
NVD-shaped JSON with exploitabilityScore, impactScore, optional temporal/environmental scores.
Metric enums
Base
Enum
Codes
AttackVector
N, A, L, P
AttackComplexity
L, H
PrivilegesRequired
N, L, H (weight depends on Scope)
UserInteraction
N, R
Scope
U, C
Impact (C/I/A)
N, L, H
Temporal
Enum
Codes
ExploitCodeMaturity
X, U, P, F, H
RemediationLevel
X, O, T, W, U
ReportConfidence
X, U, R, C
Environmental
Enum
Codes
SecurityRequirement (CR/IR/AR)
X, L, M, H
ModifiedAttackVector
X + base AV codes
ModifiedAttackComplexity
X, L, H
ModifiedPrivilegesRequired
X, N, L, H
ModifiedUserInteraction
X, N, R
ModifiedScope
X, U, C
ModifiedImpact (MC/MI/MA)
X, N, L, H
Previous
CVSS v2.0
Next
CVSS v4.0