Closed sherlock-admin2 closed 4 months ago
Only the keeper can call the execute function, and the burn function of the stakeToken can only be called by the diamond smart contract. Therefore, there are permission restrictions in place.
Invalid, not sure what this issue is trying to point to. Users burn tokens only when you the keeper executes the users redemption request
ZeroTrust
Medium
ElfiToken and ElfiUSD Token do not require users to transfer or authorize; they can be directly burned
Summary
ElfiToken and ElfiUSD Token do not require users to transfer or authorize; they can be directly burned
Vulnerability Detail
Since this protocol allows for contract upgrades, Deploy Role( used for smart contract deployment and dynamic upgrades) is RESTRICTED. There is a risk of transferring funds and burning ElfiToken and ElfiUSD Tokens.
Impact
There is a risk of transferring funds and burning ElfiToken and ElfiUSD Tokens.
Code Snippet
https://github.com/sherlock-audit/2024-05-elfi-protocol/blob/main/elfi-perp-contracts/contracts/process/RedeemProcess.sol#L133
https://github.com/sherlock-audit/2024-05-elfi-protocol/blob/main/elfi-perp-contracts/contracts/process/RedeemProcess.sol#L185
Tool used
Manual Review
Recommendation
Add user-related authorization before tokens can be burned.