The contract lacks the implementation of the onlyOwner modifier, which results in unrestricted access to critical functions. This vulnerability allows any external user to exploit the contract, potentially leading to do all unauthorized operations of the owner listed by the protocol i.e.
Owner: Can register collateral tokens and claim yield generated from Aave deposits.
The AaveDIVAWrapper.sol contract references the onlyOwner modifier in critical functions such as registerCollateralToken, claimYield, batchRegisterCollateralToken, and batchClaimYield. However, the contract does not implement the onlyOwner modifier. As a result, these functions lack proper access control and do not verify if the caller is the contract owner, as there are no require statements for ownership validation.
For example, several functions in AaveDIVAWrapper.sol reference the onlyOwner modifier, but without its implementation, anyone can call and exploit these functions.
You can check the whole contract that no onlyOwner modifier is implemented
https://github.com/Cyfrin/2025-01-diva/blob/main/contracts/src/AaveDIVAWrapper.sol
Loss of control over contract-sensitive functions.
Anyone can ClaimYield by calling the ClaimYield function.
Unauthorized registration of collateral tokens, which may lead to system abuse.
Potential token manipulation and financial loss. and many more
Manual Testing
Implement the onlyOwner modifier to the AaveDIVAWrapper.solcontract.
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.