Immunefi Severity Classification System: What Is Critical

Quick answer. Under Immunefi's v2.3 system, a smart contract bug is Critical when exploiting it directly steals user principal or NFTs, freezes them permanently, makes the protocol insolvent, overturns a governance vote, or abuses NFT minting, metadata or RNG. Privileged access can downgrade it.
Video transcript
On Immunefi, a bug is Critical because of what an exploit does, not the bug class behind it. The tier sets the payout.
Nine smart contract impacts are Critical: direct theft of principal or NFTs, permanent freezing, protocol insolvency, overturned governance votes, and abuse of NFT minting, metadata or randomness.
The boundaries are sharp. Stealing unclaimed yield is High, stealing principal is Critical. A temporary freeze is High, a permanent one is Critical.
Guardian's public audit reports hold 343 Critical findings. Those are audit ratings, not Immunefi triage decisions.
In Guardian's Glider review, a wrapper moved deposits into a vault whose withdrawal limits return zero by design. Every exit reverted, and the immutable wrapper had no other way out.
In Perp City, an audit proof of concept used 4,000 dollars to move the mark price and self-liquidate, leaving bad debt. Small numbers do not make a Low. Insolvency is Critical.
Common mistakes: rating griefing or yield theft as Critical, assuming a privileged role counts, and blaming third-party oracle data. Each falls lower or out of scope by default.
Running a program? Name the version, list assets by domain, define permanent, name trusted roles, and require a runnable proof of concept on a local fork.
Read the full article, or talk to Guardian about an audit with two independent teams and an invariant suite that stays with you.
What the Classification Is For
On Immunefi, the severity tier sets what a report pays. Each program names its classification system in the Rewards by Threat Level section of its page. Immunefi
Two versions are in use today: v2.3 and v2.2. Older versions are being phased out.
Version 2.3 uses four levels: Critical, High, Medium and Low. It rates mostly the consequence of a successful exploit.
Access still counts. A bug that needs elevated privileges or uncommon user interaction may be downgraded or rejected.
It is not a CVSS score. Separate tables cover smart contracts, blockchains, and websites and apps, so Critical means something different in each.
Audit ratings work another way. Our guide to smart contract audit severity levels weighs likelihood against impact; Immunefi lists impacts and handles likelihood through scope and access rules.
Critical Impacts, With Examples
Nine smart contract impacts are Critical in v2.3. Each names what happens to users or the protocol, not the bug class behind it. Immunefi
In Guardian's 321 public audit reports, our portfolio count on November 12, 2026 finds 343 Critical findings among 9,620. These are audit ratings, not Immunefi triage decisions. Guardian
All three below are audit proofs of concept, not live exploits.
Permanent freezing. In Guardian's Glider review, finding C-01 covered an ERC-4626 wrapper that moved deposits into a Morpho Vault V2.
That vault's maxWithdraw and maxRedeem return zero by design. The wrapper sized exits from them, so every withdrawal and redemption reverted.
The wrapper was immutable, and no other path moved funds out. Deposits were fully backed but frozen for good. The finding was resolved.
Protocol insolvency. In Guardian's Perp City review, a PoC moved the AMM mark price within one block, withdrew collateral, restored the price and self-liquidated.
From $4,000 of capital, it made $64.011402 before gas and left $73.553304 of bad debt.
The profit came from the liquidation reward, which the report notes is paid even on insolvent positions. Without that reward, the route loses $59.737860.
A second Perp City Critical let traders grow exposure against the 5% liquidation margin instead of the 10% initial margin.
Its PoC turned $27 into $29.757090 and left $4.734436 of bad debt. The report notes both attacks scale with capital and repeat in a loop. Both were acknowledged.
So small PoC numbers do not make a Low. The impact class decides the tier.
| Critical impact | What it means | Boundary |
|---|---|---|
| Governance result manipulation | A vote's effect deviates from the outcome voters chose | Basic 51% attacks are out of scope by default |
| Direct theft of user funds | Principal taken, at rest or in motion | Unclaimed yield is excluded; its theft is High |
| Direct theft of user NFTs | NFTs taken, at rest or in motion | Unclaimed royalties are excluded; their theft is High |
| Permanent freezing of funds | Funds stuck with no way out | A temporary freeze is High |
| Permanent freezing of NFTs | NFTs stuck with no way out | A temporary freeze is High |
| Unauthorized NFT minting | NFTs minted by someone with no right to mint | Needing a privileged address puts it out of scope by default |
| Predictable or manipulable RNG | Randomness an attacker can foresee or steer | Must result in abuse of principal or an NFT |
| Unintended NFT alteration | What the NFT represents changes | Examples: token URI, payload or artistic content |
| Protocol insolvency | The protocol cannot cover what it owes | Lack of liquidity impacts are out of scope by default |
High, Medium and Low Impacts
Best-practice recommendations and feature requests are out of scope by default, so they fall below Low unless a program says otherwise. Immunefi
| Level | Smart contract impact | Plain reading |
|---|---|---|
| High | Theft of unclaimed yield or unclaimed royalties | Earned rewards taken; principal safe |
| High | Permanent freezing of unclaimed yield or royalties | Earned rewards locked for good |
| High | Temporary freezing of funds or NFTs | Assets stuck for a time, then recoverable |
| Medium | Contract unable to operate for lack of token funds | It halts because it holds too few tokens |
| Medium | Block stuffing | Filling blocks to delay others' transactions |
| Medium | Griefing | Damage to users or the protocol, no attacker profit |
| Medium | Theft of gas or unbounded gas consumption | Gas wasted, or calls that can run out of gas |
| Low | Fails to deliver promised returns but loses no value | Users get less than promised and lose nothing |
Blockchain and App Criticals
A node or frontend bug can be Critical too, judged against its own table. Immunefi
Some blockchain lines use thresholds. Delaying one block by 500% or more of the prior 24 hours' average block time is High. So is an RPC API crash affecting projects with 25% or more of market capitalization on that layer.
- Blockchain: a total network shutdown, so the network cannot confirm new transactions.
- Blockchain: an unintended permanent chain split that needs a hard fork.
- Blockchain: direct loss of funds, or a permanent freeze that needs a hard fork to fix.
- Apps: arbitrary system command execution, or retrieving sensitive server data such as database passwords or blockchain keys.
- Apps: state-changing authenticated actions taken for other users without any interaction by them.
- Apps: direct theft of funds or NFTs, or malicious interactions with an already-connected wallet.
- Apps: subdomain takeover with already-connected wallet interaction. Without already-connected wallet interaction, it is High.
Common Misclassifications
Immunefi's rules bar researchers from claiming Critical when a report clearly is not, and from selecting impacts that do not apply. Immunefi
Projects have a matching duty. They may not call a report known or a duplicate without clear evidence.
- Griefing rated Critical. Damage with no attacker profit is Medium, unless it also freezes funds or causes insolvency.
- Freeze length assumed. The v2.3 table sets no recovery test, so name the missing exit, as Glider's C-01 did. Guardian
- Yield theft rated Critical. Unclaimed yield and royalties are High; only principal and NFTs reach Critical.
- A privileged role assumed. Impacts needing privileged addresses, such as governance or strategist contracts, without further changes are out of scope by default.
- Oracle errors blamed. Bad data from a third-party oracle is out of scope by default, but oracle manipulation and flash loan attacks are not.
- A depeg blamed. An external stablecoin depeg the attacker did not cause is out of scope by default.
- Liquidity, Sybil or 51% scenarios rated insolvency. All three are default exclusions.
Adapting It for Your Program
Default exclusions are a starting point. Immunefi says out-of-scope lists differ by program, and projects may add restrictions. Immunefi
Freezes are contested. Reports from Immunefi audit competitions show reporters reasoning both ways; the impacts below are the reporters' selections, not Immunefi rulings. Immunefi Audit Competitions
Report #57519 calls a freeze temporary behind an upgradeable proxy, until upgrade, and possibly permanent without one.
Blockchain report #89065 went the other way. A runtime upgrade could recover the deposits, but the reporter selected permanent freezing, citing no timeout and no user recovery.
It set aside the hardfork-only item. The report lists severity High.
In report #89777, the reporter selected temporary freezing for at least 24 hours, where recovery needed a governance upgrade or storage migration.
Programs can close the gap. Ava Labs' Avalanche program says infeasible or unconventional mitigations should not downgrade severity, and raises temporary-freeze rewards for each extra 24 hours.
For scope, KYC and triage, see how to set up a web3 bug bounty. To price the top tier, use the bug bounty payout calculator.
Researchers should rate against the program's own table, then prove the impact. Our guide to writing a smart contract PoC walks through one.
- Name the version, v2.3 or v2.2, in Rewards by Threat Level.
- List assets by domain: contracts per chain, nodes, and websites or apps. Each has its own table.
- Map your failure modes to impacts. A lender or perps venue can state that bad debt counts as protocol insolvency.
- Define permanent. Say whether a pause, timelock, admin rescue or upgrade turns a freeze into a temporary one.
- Name trusted roles, such as keepers, operators and guardians, and whether exploits through them count.
- Publish known issues, including acknowledged audit findings, so nobody is paid twice.
- Require a runnable PoC on a local fork for every tier you pay.
Frequently Asked Questions
Does a Critical impact guarantee a bounty payout?
No. The impact must hit an in-scope asset, survive the program's exclusions and be proven. Once a report is valid, Immunefi's rules bar the project from quietly fixing the bug later without full payment to the whitehat. Immunefi
What changed between v2.2 and v2.3?
v2.2 had five levels, including None; v2.3 has four. v2.3 narrows governance manipulation to results that deviate from the vote, drops MEV from Critical, and moves RPC API crashes from Critical to High, at a 25% market capitalization threshold. Immunefi
Can a bug the reporter already exploited still qualify?
Not by default. v2.3 places impacts from attacks the reporter already exploited, causing damage, out of scope. Publicly disclosing an unpatched bug in an embargoed bounty is also a prohibited activity. Immunefi
How is denial of service rated for smart contracts?
The smart contract table has no separate denial of service line, so rate the effect with the freezing and griefing rows. Running a denial of service attack against project assets is prohibited by default. Immunefi
Related reading
- smart contract audit severity levels
- how to set up a web3 bug bounty
- bug bounty payout calculator
- handling critical bug report live protocol
- how to write a smart contract poc
Sources
- Immunefi: Immunefi Vulnerability Severity Classification System v2.3
- Immunefi: Severity Classification Systems
- Immunefi: Immunefi Rules
- Guardian: Glider Protocol Review
- Guardian: Perp City Protocol Review
- Guardian: Smart Contract Audit Services
- Immunefi: Immunefi Vulnerability Severity Classification System v2.2
- Immunefi: Ava Labs Avalanche Bug Bounty (October 7, 2026)
- Immunefi Audit Competitions: #57519 Unbounded stake array allows permanent withdraw lock (October 26, 2025)
- Immunefi Audit Competitions: #89065 Sub-floor deposits permanently frozen (August 16, 2026)
- Immunefi Audit Competitions: #88420 Rescue marker permanently freezes later withdrawals (August 13, 2026)
- Immunefi Audit Competitions: #89777 Withdrawal becomes unclaimable after rescue and unblock (August 21, 2026)
- Kann Audits: How to Interpret Critical, High, Medium, and Low Security Findings
- Guardian: Published Smart Contract Audit Reports | Guardian
Find Your Critical Impacts Before Researchers Do
Guardian's smart contract audit puts two independent teams on one scope, with an invariant suite for accounting and solvency that stays with you. Only human-verified findings reach your report.