Functions like setFinalReferenceValue on line 85, transferFeeClaim on line 100, and createContingentPool on line 127 in IDIVA.sol contract are crucial to the contract’s operations but lack explicit access control. Without proper restrictions, unauthorized actors could exploit these functions.
setFinalReferenceValue: This function allows setting a reference value for a pool, which is critical in determining payouts. If not restricted, malicious actors could manipulate final values, causing unintended losses.
transferFeeClaim: Transfers funds, meaning if this function is not properly restricted, it could result in unauthorized fee transfers.
createContingentPool: Creating a pool without restrictions could potentially lead to the creation of pools with invalid or malicious parameters.
Unauthorized actors could manipulate pool parameters, transfer funds, or interfere with pool creation, leading to financial loss or protocol disruption.
Actors:
Attacker: A malicious actor attempting to call sensitive functions without authorization.
Victim: The protocol or user who would bear the consequences of unauthorized function execution.
Protocol: The contract system managing pools, liquidity, and fees.
PoC Test Case:
This test ensures that only the owner or authorized address can call setFinalReferenceValue, preventing unauthorized manipulation.
Manual code review, slither
Use onlyOwner or other role-based access control modifiers for sensitive functions.
Ensure only authorized addresses can execute crucial functions.
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.