Here are three critical DeFi smart contract vulnerabilities described with the technical specificity required for a professional security audit report.
1. Reentrancy Attack via State Update After External Call
Vulnerability Class: CWE-841 (Improper Enforcement of Behavioral Workflow) / CWE-693 (Protection Mechanism Failure)
Severity: Critical
Affected Component: withdraw() or claim() functions in liquidity pools or staking contracts.
Description:
The contract fails to follow the Checks-Effects-Interactions (CEI) pattern. Specifically, the state variables tracking user balances or shares are updated after an external contract call (e.g., IERC20.transfer() or IGovernor.execute()). This allows an attacker’s proxy contract to re-enter the vulnerable function before the state is finalized, enabling them to withdraw funds multiple times using the same initial balance.
**Code Example (Vulnerable
Top comments (0)