If a vulnerable DaiGoldAuction.sol#treasury
is being exploited by an attacker, there is no way to update the vulnerable Treasury from the protocol.
The protocol is missing the feature to remove an treasury. Once an treasury
has been set in the constructor()
, it is not possible to upgrade the treasury from the contract.
In the event that the treasury is found to be vulnerable and has been actively exploited by an attacker in the wild, the protocol needs to mitigate the issue swiftly by removing the vulnerable Treasury from the protocol. However, the mitigation effort will be hindered by the fact there is no way to remove an Treasury within the contract once it has been deployed.
It might not be possible to stop the attacker from exploiting the vulnerable Treasury. The protocol team would need to find a workaround to block the attack, which will introduce an unnecessary delay to the recovery process where every second counts.
Manual Review
Consider implementing an additional function to allow the removal of an Treasury from the protocol, so that vulnerable Treasury can be removed swiftly if needed.
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.