We manage your security to weather the AI storm →

← Resource Hub

Immunefi Severity Classification System: What Is Critical

By Daniel GelfandPublished 9 min read

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.

Watch: Immunefi Severity Classification System: What Is Critical 1:44
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 impactWhat it meansBoundary
Governance result manipulationA vote's effect deviates from the outcome voters choseBasic 51% attacks are out of scope by default
Direct theft of user fundsPrincipal taken, at rest or in motionUnclaimed yield is excluded; its theft is High
Direct theft of user NFTsNFTs taken, at rest or in motionUnclaimed royalties are excluded; their theft is High
Permanent freezing of fundsFunds stuck with no way outA temporary freeze is High
Permanent freezing of NFTsNFTs stuck with no way outA temporary freeze is High
Unauthorized NFT mintingNFTs minted by someone with no right to mintNeeding a privileged address puts it out of scope by default
Predictable or manipulable RNGRandomness an attacker can foresee or steerMust result in abuse of principal or an NFT
Unintended NFT alterationWhat the NFT represents changesExamples: token URI, payload or artistic content
Protocol insolvencyThe protocol cannot cover what it owesLack 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

LevelSmart contract impactPlain reading
HighTheft of unclaimed yield or unclaimed royaltiesEarned rewards taken; principal safe
HighPermanent freezing of unclaimed yield or royaltiesEarned rewards locked for good
HighTemporary freezing of funds or NFTsAssets stuck for a time, then recoverable
MediumContract unable to operate for lack of token fundsIt halts because it holds too few tokens
MediumBlock stuffingFilling blocks to delay others' transactions
MediumGriefingDamage to users or the protocol, no attacker profit
MediumTheft of gas or unbounded gas consumptionGas wasted, or calls that can run out of gas
LowFails to deliver promised returns but loses no valueUsers 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

Sources

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.