Here are three critical DeFi smart contract vulnerabilities, described with specific technical details suitable for inclusion in a professional security audit report.
1. Reentrancy in State-Dependent Functions
CWE-841: Improper Restriction of Operations within the Bounds of a Single Resource
Severity: Critical
Description:
A classic reentrancy vulnerability occurs when an external call is made to an untrusted address before the internal state of the contract is updated. In DeFi protocols, this is particularly dangerous in withdraw or redeem functions where the contract interacts with external tokens (e.g., ERC-20) or other protocols (e.g., AMMs) before updating the user’s balance or total supply.
Specific Scenario:
Consider a savings pool contract (SavingsPool) that holds USDC. The withdraw function is implemented as follows:
- Calculate the amount owed to the user. 2
Top comments (0)