block.timestamp
is used as the deadline for swaps in SmartVaultV3::swap() L223.
In the PoS model, proposers know well in advance if they will propose one or consecutive blocks ahead of time. In such a scenario, a malicious validator can hold back the transaction and execute it at a more favorable block number.
This offers no protection as block.timestamp
will have the value of whichever block the tx is inserted into, hence the tx can be held indefinitely by malicious validators.
Manual review
Consider allowing function caller to specify swap deadline input parameter.
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.