Non-authorized users can still participate in auctions or staking and receive TempleGold
tokens.
Because of a flawed check in the _update
function of the TempleGold
contract, users who are not authorized for any reason by the protocol still get to receive TempleGold
tokens as long as one of the auctioning contracts or staking contracts or any other contract/address that is the from
argument is authorized.
A short POC to describe this issue in code:
This breaks every one of the protocol's assumptions that non-authorized addresses cannot participate. Because assuming the user then participates by bidding DAI for TGLD
in the auction contract, since the auction contract would be authorized to transfer TGLD
, even if the user is unauthorized, they still get to receive TGLD
Manual review
The ideal fix is also to check that if the _to
address is not either one of the auction contracts or staking contracts, then they should be authorized too.
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.