The batch operations in AaveDIVAWrapper are vulnerable to denial of service attacks when using tokens with blocklist functionality (like USDC, USDT) due to the ability of malicious users to get themselves blocklisted mid-batch.
https://github.com/Cyfrin/2025-01-diva/blob/main/contracts/src/AaveDIVAWrapper.sol#L126
Attack Steps:
Attacker participates in batch operation
Gets themselves blocklisted (e.g., by violating token terms)
When their operation executes, transferFrom reverts
Entire batch fails, wasting gas for all participants
The batch operation vulnerability enables a targeted DOS attack through user-controlled blocklist status. A malicious user can deliberately trigger their own blocklisting, causing safeTransferFrom to revert and invalidating all operations in the batch. This creates a disproportionate impact where a single actor can grief attack multiple legitimate users and disrupt protocol operations.
Since the vulnerability affects major stablecoins like USDC/USDT, it renders batch functionality effectively unusable for high-volume operations, as any participant can maliciously force batch failures. The attack requires minimal resources from the attacker while imposing maximum costs on other participants, making it an attractive griefing vector.
Implement try/catch per operation to allow batch to continue if individual operations fail:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.