This document defines a deterministic framework for classifying vulnerability severity in blockchain networks. It resolves ambiguities identified in v1 and introduces a structured scoring system for both Impact and Likelihood.
Severity is determined using two primary factors:
- Impact (weight: 0.4) — consequence of a successful exploit
- Likelihood (weight: 0.6) — probability and difficulty of exploitation
The final Severity Score is calculated from both factors.
Impact represents the result of a successful exploit on the network, protocol, or user funds.
Any of the following conditions:
- Network cannot confirm new transactions (total network shutdown)
- Permanent chain split or state corruption
- Direct theft of user or protocol funds
- Permanent freezing of funds requiring a hard fork
- Arbitrary code execution on nodes or validators
- Validator privilege takeover
- ≥66% of validators halted or unable to produce blocks
- Fix requires a hard fork
Any of the following conditions:
- Temporary freezing of funds (recoverable without hard fork)
- Temporary chain split or network partition
- Consensus failure affecting ≥33% of validators
- Repeated inability to reach consensus
- Severe DoS causing block delay ≥500% of the 24h average block time
- RPC/API crash affecting infrastructure supporting ≥25% of ecosystem usage
- Mempool manipulation forcing nodes to process transactions beyond configured limits
Any of the following conditions:
- Resource exhaustion increasing node CPU/memory/disk usage ≥30%
- Shutdown of ≥10% of network nodes but the network remains operational
- Protocol or smart contract logic bug with no direct funds at risk
- Moderate DoS causing block delay ≥200% of the 24h average block time
Any of the following conditions:
- Minor performance degradation (block delay ≥50% but <200%)
- Transaction fee modification outside design parameters
- Minor protocol misconfiguration with limited network impact
- Information disclosure with no direct operational impact
The Impact is determined through an adaptive two-step process: first selecting the impact category, then selecting the specific impact within that category.
Select the most severe impact category:
| Category | Description | Proceeds to |
|---|---|---|
| Funds Loss/Freeze | Vulnerability affects user or protocol funds | Step 2A |
| Network/Chain Integrity | Vulnerability destroys network or chain integrity | Step 2B |
| Validator/Consensus | Vulnerability affects validators or consensus | Step 2C |
| Node/Infrastructure | Vulnerability affects nodes or infrastructure | Step 2D |
| Performance Degradation | Vulnerability causes block production delays | Step 2E |
| Other/Minor | Other or minor impact | Step 2F |
| Option | Impact |
|---|---|
| Direct theft of user or protocol funds | Critical (4) |
| Permanent freezing of funds (requires hard fork) | Critical (4) |
| Temporary freezing of funds (recoverable without hard fork) | High (3) |
| Option | Impact |
|---|---|
| Network cannot confirm new transactions (total shutdown) | Critical (4) |
| Permanent chain split or state corruption | Critical (4) |
| Arbitrary code execution on nodes or validators | Critical (4) |
| Validator privilege takeover | Critical (4) |
| Fix requires a hard fork | Critical (4) |
| Temporary chain split or network partition | High (3) |
| Option | Impact |
|---|---|
| ≥66% of validators affected | Critical (4) |
| 33–65% of validators affected | High (3) |
| <33% validators, repeated consensus failure | High (3) |
| <33% validators, minor impact | Medium (2) |
| Option | Impact |
|---|---|
| RPC/API crash affecting ≥25% of ecosystem infrastructure | High (3) |
| Mempool manipulation forcing nodes beyond configured limits | High (3) |
| ≥10% of nodes forced to shut down (network operational) | Medium (2) |
| Resource exhaustion (CPU/memory/disk ≥30% increase) | Medium (2) |
| Minor node impact (<10% affected) | Low (1) |
| Option | Impact |
|---|---|
| Block delay ≥500% of 24h average | High (3) |
| Block delay 200–499% of 24h average | Medium (2) |
| Block delay 50–199% of 24h average | Low (1) |
| Option | Impact |
|---|---|
| Protocol/smart contract logic bug with no funds at risk | Medium (2) |
| Transaction fee modification outside design parameters | Low (1) |
| Minor protocol misconfiguration | Low (1) |
| Information disclosure / other | Low (1) |
Likelihood is determined through three scored questions. Each answer maps to a value of 1–4.
| Option | Score |
|---|---|
| Remote, no privileges required (anyone can exploit) | 4 |
| Remote, basic participant privileges required (e.g., submit transactions) | 3 |
| Network/infrastructure access + operator/validator privileges required | 2 |
| Physical/local access + system root privileges required | 1 |
| Option | Score |
|---|---|
| Simple, works on default configuration, succeeds every time | 4 |
| Some coordination needed, common configuration, usually succeeds | 3 |
| Special conditions/configuration required, conditional success | 2 |
| Unrealistic conditions, rare configuration, rarely succeeds | 1 |
| Option | Score |
|---|---|
| Affects most/all nodes or validators | 4 |
| Affects a substantial portion (>33%) | 3 |
| Affects a small subset of nodes | 2 |
| Affects only the directly targeted node | 1 |
Likelihood Score = round((L1 + L2 + L3) / 3)
Mapping:
- 4 → Critical
- 3 → High
- 2 → Medium
- 1 → Low
SeverityScore = (0.4 × Impact) + (0.6 × Likelihood)
Where Impact ∈ {1, 2, 3, 4} and Likelihood ∈ {1, 2, 3, 4}
| Score Range | Severity |
|---|---|
| 3.50 – 4.00 | Critical |
| 2.50 – 3.49 | High |
| 1.50 – 2.49 | Medium |
| 1.00 – 1.49 | Low |
| Impact \ Likelihood | Low (1) | Medium (2) | High (3) | Critical (4) |
|---|---|---|---|---|
| Critical (4) | 2.2 Medium | 2.8 High | 3.4 High | 4.0 Critical |
| High (3) | 1.8 Medium | 2.4 Medium | 3.0 High | 3.6 Critical |
| Medium (2) | 1.4 Low | 2.0 Medium | 2.6 High | 3.2 High |
| Low (1) | 1.0 Low | 1.6 Medium | 2.2 Medium | 2.8 High |
Both Impact and Likelihood can be manually overridden with an optional justification. When overridden, the final Severity is recalculated from the effective (overridden) Impact and Likelihood values. Both the calculated value and the override value (with justification, if provided) are recorded.
- Added Step 2A option: "Temporary freezing of funds → High" (was in Boundary Rules but missing from algorithm)
- Fixed Node Impact threshold: ≥10% node shutdown → Medium (was Low in algorithm, Medium in classification table)
- Added catch-all Step 2F: Covers items in classification table but missing from algorithm (RPC/API crash, mempool manipulation, logic bugs, etc.)
- Added all Critical items to Step 2B: Network shutdown, chain split, arbitrary code execution, validator takeover (were in classification but not in algorithm)
- Structured Likelihood scoring: Converted subjective characteristics into 3 scored questions with deterministic calculation
- Added Override mechanism: Both Likelihood and final Severity can be manually overridden with justification
- Adopted adaptive two-step Impact determination: Category selection → Detail selection (always exactly 2 questions)