The _claimYield
function in the AaveDIVAWrapperCore
contract enables the immediate withdrawal of accrued yield by owner without any restrictions or safeguards. This creates a potential vulnerability where the owner can extract yield at inopportune times, possibly exploiting user trust.
Functionality: The _claimYield
function allows the owner or an inheriting contract to withdraw all accrued yield for a specific collateral token.
Concerns:
The function is marked internal
, but its invocation by owner can pose risks.
There are no timelocks, governance mechanisms, or user notifications involved when claiming the yield.
Owner can front-run transactions or withdraw significant accrued yield just before other users benefit.
Yield Extraction: The owner can drain all accrued yield, reducing the benefits to protocol users.
Front-Running Risk: If the owner observes a large pending transaction that generates a significant yield, they can withdraw the yield before the transaction is executed.
Trust Issues: Centralization of power and lack of safeguards may harm the protocol’s reputation and user trust.
Code review and static analysis of the _claimYield
function and related logic.
Search for invocations of _claimYield
to assess accessibility and privilege levels.
Introduce Timelocks: Add a timelock mechanism to delay yield withdrawals, ensuring fairness.
Governance Oversight: Require approvals from a decentralized governance process before the owner can call _claimYield
.
Rate Limiting: Implement limits on how frequently the owner can withdraw yield to mitigate extraction risks.
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.