When selling Smart Vaults NFTs, which is an intended protocol design decision (see _afterTokenTransfer function in SmartVaultManager), malicious users can honeypot buyers by draining the vault before selling it.
Smart Vault NFTs are expected to be sold on secondary NFT markets.
Attack scenario:
Malicious seller lists Smart Vault on NFT market.
Buyer sends a transaction that is expected to buy the vault and transfer it to him.
Malicious seller sees this transaction in the mempool and sends a transaction to the Smart Vault contract to drain it -> mint maximum amount of EUROs.
Buyer now ends up with an almost unusable vault.
Users lose funds they paid for Smart Vaults.
Manual review
Re-think the design decision of selling Smart Vault NFTs
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.