OWASP·SC10·medium

Denial of service

The contract can be put into a state where legitimate operations no longer succeed.

What it is

Wider than the gas-limit case: unbounded loops, external calls that can be made to revert, a single required participant who can refuse to act, and administrative pauses with no path back to unpaused.

Why it matters

Funds locked, users unable to exit, a protocol frozen with no recovery path. No value is stolen, which is why these are sometimes underrated — they can still be terminal.

How to fix it

  • Bound or paginate every loop; use pull payments.
  • Ensure no single external party can block a shared operation.
  • For every pause, ship an unpause, and check the recovery path in tests.

How it is detected

Every audit on EVM Smart Audit checks for SC10 and reports it as passed or flagged in the standards coverage grid — so the report tells you it was checked even when nothing was found. See the detector suite for what else runs alongside it, or the full database for the other 21 checks.

Related weaknesses

Check your contract for denial of service

The engine runs this check and 21 others on every audit, and shows what passed as well as what failed.

Start your auditSee pricing