Vulnerability severity calculator
Score a vulnerability with CVSS version 3.1 or 4.0 base, threat and environmental metrics, and read or write the vector string.
Safety and securityFree to useHow it worksSourcesWhere it helps
Fills the inputs below with typical figures. Replace any of them with your own.
- Base score
- 9.8 critical
- No temporal or environmental metrics set
- Base score
- 9.8 critical
- Impact 5.87, exploitability 3.89
- Temporal score
- not set
- Choose a temporal metric
- Environmental score
- not set
- Choose an environmental metric
Vector string
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Sign in to save your inputs and come back to them later.
Exploitability (how reachable) and impact (how much is lost) add up to the base score. Impact is capped by its formula and exploitability tops out at 3.9.
- Exploitability sub score3.89of about 3.9
- Impact sub score5.87scope unchanged, of about 5.9
Show the data as a table
| Item | Points |
|---|---|
| Exploitability sub score | 3.89 |
| Impact sub score | 5.87 |
Temporal metrics can only lower the base score. The environmental score can move either way.
- Base score9.8critical
- Temporal score9.8 (no temporal metrics set)critical
- Environmental score9.8 (no environmental metrics set)critical
Show the data as a table
| Item | Score (0 to 10) |
|---|---|
| Base score | 9.8 |
| Temporal score | 9.8 (no temporal metrics set) |
| Environmental score | 9.8 (no environmental metrics set) |
| Metric | Group | Value | Weight |
|---|---|---|---|
| Attack vector (AV) | Base | Network (N) | 0.85 |
| Attack complexity (AC) | Base | Low (L) | 0.77 |
| Privileges required (PR) | Base | None (N) | 0.85 |
| User interaction (UI) | Base | None (N) | 0.85 |
| Scope (S) | Base | Unchanged (U) | none |
| Confidentiality impact (C) | Base | High (H) | 0.56 |
| Integrity impact (I) | Base | High (H) | 0.56 |
| Availability impact (A) | Base | High (H) | 0.56 |
| Exploit code maturity (E) | Temporal | Not defined (X) | 1 |
| Remediation level (RL) | Temporal | Not defined (X) | 1 |
| Report confidence (RC) | Temporal | Not defined (X) | 1 |
| Confidentiality requirement (CR) | Environmental | Not defined (X) | 1 |
| Integrity requirement (IR) | Environmental | Not defined (X) | 1 |
| Availability requirement (AR) | Environmental | Not defined (X) | 1 |
| Modified attack vector (MAV) | Environmental | Not defined (X) | none |
| Modified attack complexity (MAC) | Environmental | Not defined (X) | none |
| Modified privileges required (MPR) | Environmental | Not defined (X) | none |
| Modified user interaction (MUI) | Environmental | Not defined (X) | none |
| Modified scope (MS) | Environmental | Not defined (X) | none |
| Modified confidentiality impact (MC) | Environmental | Not defined (X) | none |
| Modified integrity impact (MI) | Environmental | Not defined (X) | none |
| Modified availability impact (MA) | Environmental | Not defined (X) | none |
Each bar is the gap between the lowest and highest base score reachable by changing only that metric.
- Attack vector (AV)6.8 to 9.8now 9.8
- Attack complexity (AC)8.1 to 9.8now 9.8
- Privileges required (PR)7.2 to 9.8now 9.8
- User interaction (UI)8.8 to 9.8now 9.8
- Scope (S)9.8 to 10.0now 9.8
- Confidentiality impact (C)9.1 to 9.8now 9.8
- Integrity impact (I)9.1 to 9.8now 9.8
- Availability impact (A)9.1 to 9.8now 9.8
Show the data as a table
| Item | Swing in base score |
|---|---|
| Attack vector (AV) | 6.8 to 9.8 |
| Attack complexity (AC) | 8.1 to 9.8 |
| Privileges required (PR) | 7.2 to 9.8 |
| User interaction (UI) | 8.8 to 9.8 |
| Scope (S) | 9.8 to 10.0 |
| Confidentiality impact (C) | 9.1 to 9.8 |
| Integrity impact (I) | 9.1 to 9.8 |
| Availability impact (A) | 9.1 to 9.8 |
| Metric | Now | Base score for each value |
|---|---|---|
| Attack vector (AV) | N | N: 9.8, A: 8.8, L: 8.4, P: 6.8 |
| Attack complexity (AC) | L | L: 9.8, H: 8.1 |
| Privileges required (PR) | N | N: 9.8, L: 8.8, H: 7.2 |
| User interaction (UI) | N | N: 9.8, R: 8.8 |
| Scope (S) | U | U: 9.8, C: 10.0 |
| Confidentiality impact (C) | H | H: 9.8, L: 9.4, N: 9.1 |
| Integrity impact (I) | H | H: 9.8, L: 9.4, N: 9.1 |
| Availability impact (A) | H | H: 9.8, L: 9.4, N: 9.1 |
How it works
CVSS gives a vulnerability a score from 0 to 10 and a vector string that records how the score was reached. This tool implements version 3.1 exactly as FIRST specifies it: base, temporal and environmental scores, the vector string both ways, and a view of how far each metric moves the result. For version 4.0 it checks and names a vector, then sends you to FIRST's calculator for the number.
- Weigh the base metrics. Attack vector, complexity, privileges required and user interaction set how easy the flaw is to reach. Confidentiality, integrity and availability set how much is lost. Privileges required weighs more when the scope is changed.
exploitability = 8.22 x AV x AC x PR x UI - Impact sub score. The impact sub score starts from the three impact weights. With the scope unchanged it is a straight multiple. With the scope changed the curve is steeper at the top, so a total loss in a changed scope is worth more.
ISS = 1 − (1 − C) x (1 − I) x (1 − A); impact = 6.42 x ISS (scope unchanged); impact = 7.52 x (ISS − 0.029) − 3.25 x (ISS − 0.02)^15 (scope changed) - Base score. Add the two sub scores, cap at 10, and round up to one decimal. A changed scope multiplies by 1.08 first. A score of zero is given when the impact is zero or less. The round-up works on whole numbers so that a value such as 4.000000002 stays at 4.0.
base = 0 if impact <= 0; else Roundup(Minimum(impact + exploitability, 10)); scope changed: Roundup(Minimum(1.08 x (impact + exploitability), 10)) - Temporal score. Exploit code maturity, remediation level and report confidence can only lower the base score. Not defined counts as the neutral weight of 1.
temporal = Roundup(base x E x RL x RC) - Environmental score. Your own security requirements scale the impacts (a high requirement weighs 1.5, low 0.5), capped at 0.915. Any base metric can be restated for your deployment (a modified metric); not defined keeps the base value. The modified impact and exploitability replace the base ones, and the temporal weights apply last.
MISS = Minimum(1 − (1 − CR x MC) x (1 − IR x MI) x (1 − AR x MA), 0.915); modified impact = 6.42 x MISS (scope unchanged) or 7.52 x (MISS − 0.029) − 3.25 x (MISS x 0.9731 − 0.02)^13 (changed); environmental = Roundup(Roundup(Minimum(modified impact + modified exploitability, 10)) x E x RL x RC) - Severity rating. The score maps to a word: none for 0.0, low for 0.1 to 3.9, medium for 4.0 to 6.9, high for 7.0 to 8.9 and critical for 9.0 to 10.0.
- Version 4.0 vectors. Version 4.0 adds attack requirements, splits impact into the vulnerable system and subsequent systems, and names its scores by the metric groups used: CVSS-B (base only), CVSS-BT (with threat), CVSS-BE (with environmental) and CVSS-BTE (with both). The tool checks that the prefix, every code and value and all eleven base metrics are valid, and gives the name. The number comes from FIRST's calculator.
Assumptions
- The metric weights and formulas are those of the CVSS v3.1 specification, with the round-up function from its Appendix A.
- The base score describes the flaw as such. The temporal score changes over time as exploits and fixes appear. The environmental score is yours alone and should be set by the product owner.
- A vector without the CVSS:3.1 prefix is read as version 3.1. A version 3.0 vector is scored with the 3.1 formulas and flagged.
- In a published score, FIRST asks for the score and the vector string together, with credit to FIRST as the owner of CVSS.
Limits and warnings
- CVSS measures technical severity, not risk. It says nothing about how likely an attack is, how many devices are exposed or what the business loses, so pair it with a threat and asset view (for example a TARA).
- Scores depend on judgement. Two careful analysts often differ by a metric or two, so record the reasoning with the vector.
- Version 4.0 is not scored here. FIRST licenses CVSS for use and implementation with credit, but the 4.0 specification gives no licence terms for its macro vector look-up data, so the tool does not reproduce it. Use FIRST's calculator for a 4.0 score.
- Safety and hardware context are better captured in version 4.0's safety metric and the environmental group; version 3.1 has no safety metric.
Sources
The methods and default figures rest on these public sources. The wording here is our own; read the source for its full text.
- Common Vulnerability Scoring System v3.1: Specification Document (opens in a new tab), FIRST.Org, Inc., June 2019 (version 3.1). The metrics, weights, formulas, round-up function and severity ratings, followed as published. FIRST owns CVSS and the tool is used by permission under FIRST's terms.
- Common Vulnerability Scoring System v3.1: Examples (opens in a new tab), FIRST.Org, Inc., June 2019 (version 3.1). Worked examples with published base scores, reproduced in the tool's tests.
- Common Vulnerability Scoring System version 4.0: Specification Document (opens in a new tab), FIRST.Org, Inc., Version 1.2, 18 June 2024. Metric names, values, vector format and the CVSS-B, BT, BE and BTE nomenclature.
Where it helps
The lifecycle stages this tool serves: 10 stages in 7 lifecycles.
More safety and security tools
- Hardware safety metrics calculator
- Safety integrity level determination
- Fault tree calculator
- Fault injection campaign sizer
- Safety function failure probability calculator
- Threat risk assessment calculator
- Side-channel leakage assessment
- Software update impact assessment
- SBOM licence checker
- Development assurance objectives checklist
- Medical device classification helper
Method notev1Formula, ranges, sources and limits
Scores a vulnerability with the CVSS version 3.1 base, temporal and environmental formulas and reads and writes the vector string. Version 4.0 vectors are checked and named, not scored.
Formula
exploitability = 8.22 x AV x AC x PR x UI; ISS = 1 − (1 − C) x (1 − I) x (1 − A); impact = 6.42 x ISS (scope unchanged); impact = 7.52 x (ISS − 0.029) − 3.25 x (ISS − 0.02)^15 (scope changed); base = 0 if impact <= 0; else Roundup(Minimum(impact + exploitability, 10)); scope changed: Roundup(Minimum(1.08 x (impact + exploitability), 10)); temporal = Roundup(base x E x RL x RC); MISS = Minimum(1 − (1 − CR x MC) x (1 − IR x MI) x (1 − AR x MA), 0.915); modified impact = 6.42 x MISS (scope unchanged) or 7.52 x (MISS − 0.029) − 3.25 x (MISS x 0.9731 − 0.02)^13 (changed); environmental = Roundup(Roundup(Minimum(modified impact + modified exploitability, 10)) x E x RL x RC)
| Input | Unit | Range it holds for | Comes from |
|---|---|---|---|
| Attack vector | choice | N, A, L, P | Your figure |
| Attack complexity | choice | L, H | Your figure |
| Privileges required | choice | N, L, H | Your figure |
| User interaction | choice | N, R | Your figure |
| Scope | choice | U, C | Your figure |
| Confidentiality impact | choice | H, L, N | Your figure |
| Integrity impact | choice | H, L, N | Your figure |
| Availability impact | choice | H, L, N | Your figure |
| Exploit code maturity | choice | X, H, F, P, U | Your figure |
| Remediation level | choice | X, U, W, T, O | Your figure |
| Report confidence | choice | X, C, R, U | Your figure |
| Confidentiality requirement | choice | X, H, M, L | Your figure |
| Integrity requirement | choice | X, H, M, L | Your figure |
| Availability requirement | choice | X, H, M, L | Your figure |
| Modified attack vector | choice | X, N, A, L, P | Your figure |
| Modified attack complexity | choice | X, L, H | Your figure |
| Modified privileges required | choice | X, N, L, H | Your figure |
| Modified user interaction | choice | X, N, R | Your figure |
| Modified scope | choice | X, U, C | Your figure |
| Modified confidentiality impact | choice | X, H, L, N | Your figure |
| Modified integrity impact | choice | X, H, L, N | Your figure |
| Modified availability impact | choice | X, H, L, N | Your figure |
Outputs: Base score (0 to 10); Temporal score (0 to 10); Environmental score (0 to 10); Impact sub score (points); Exploitability sub score (points).
Assumptions
- The metric weights and formulas are those of the CVSS v3.1 specification, with the round-up function from its Appendix A.
- The base score describes the flaw as such. The temporal score changes over time as exploits and fixes appear. The environmental score is yours alone and should be set by the product owner.
- A vector without the CVSS:3.1 prefix is read as version 3.1. A version 3.0 vector is scored with the 3.1 formulas and flagged.
- In a published score, FIRST asks for the score and the vector string together, with credit to FIRST as the owner of CVSS.
Uncertainty: The arithmetic is exact and reproduces FIRST's published example scores. The metric choices carry the uncertainty: they are judgements, and two analysts can differ by a metric or two.
Known limits
- CVSS measures technical severity, not risk. It says nothing about how likely an attack is, how many devices are exposed or what the business loses, so pair it with a threat and asset view (for example a TARA).
- Scores depend on judgement. Two careful analysts often differ by a metric or two, so record the reasoning with the vector.
- Version 4.0 is not scored here. FIRST licenses CVSS for use and implementation with credit, but the 4.0 specification gives no licence terms for its macro vector look-up data, so the tool does not reproduce it. Use FIRST's calculator for a 4.0 score.
- Safety and hardware context are better captured in version 4.0's safety metric and the environmental group; version 3.1 has no safety metric.
Where the method comes from
Follows Common Vulnerability Scoring System v3.1: Specification Document (FIRST.Org) (opens in a new tab). The arithmetic here is the same; the platform claims no improvement on it.
Worked example from the source: Shellshock (CVE-2014-6271), AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H: FIRST's examples document gives a base score of 9.8. Source result: Base score 9.8. This model, same inputs: 9.8.
Reference example, checked by test: FIRST, CVSS v3.1 examples: Shellshock (CVE-2014-6271) has a base score of 9.8. The sub scores are worked by hand: ISS = 1 − 0.44^3 = 0.914816, impact = 6.42 x 0.914816 = 5.8731, exploitability = 8.22 x 0.85 x 0.77 x 0.85 x 0.85 = 3.8870. Base score 9.8; Temporal score 9.8; Environmental score 9.8; Impact sub score 5.8731; Exploitability sub score 3.887.
Versions
- v1 (2026-10-25): First version, built from the tool idea.
Terms on this page
- CVSS
- Common Vulnerability Scoring System (CVSS): an open method for rating the severity of a security vulnerability from 0 to 10, based on how it can be exploited and what an attacker gains.
- TARA
- Threat analysis and risk assessment (TARA): the method in ISO/SAE 21434 for identifying the assets of a vehicle item or component, the threats against them and the resulting risk, and for deciding...
Tell us what you're after and leave your email: we'll connect you with the right person on the Hub.