The deposit
, mint
, withdraw
, and redeem
functions in ZipVault.sol are overridden and can be called by the MarketMakingEngine
contract, potentially leading to a reentrancy attack.
The deposit
, mint
, withdraw
, and redeem
functions are overridden and can be called by the MarketMakingEngine
contract. If the MarketMakingEngine
contract is compromised or has a bug, it could potentially call these functions multiple times, leading to a reentrancy attack. For example, if the MarketMakingEngine
calls the withdraw
function, and then calls it again before the first call is completed, it could drain all the assets from the vault.
A high reentrancy attack could lead to the loss of all assets in the vault, causing significant financial damage to users and the protocol.
Manual code review and analysis.
Implement the Checks-Effects-Interactions pattern to ensure that all state changes are made before any external calls are made. For example, in the withdraw
function, update the vault's state before transferring the assets to the receiver.
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.