The _update
function allows users to transfer funds from one wallet to another one they own. But they can transfer more than what they have!
This particular vulnerability is in the main TempleGold.sol
contract.
The transfer process was not well-checked. Users can transfer more than what they have deposited or staked.
Note that they are transfering tokens from the contract, and not necessarily from their balances.
The contract assumes users will only try to withdraw less than or equal to what they have. Thereby, being unaware of malicious moves!
Users can by way of calling the update
function withdraw more than they should and possibly drain the contract since there is no check.
Manual review.
Check if the balance of the sender in* update function *matches the amount they want to send.
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.