code-423n4 / 2021-08-gravitybridge-findings

1 stars 0 forks source link

ERC20s that block transfer to particular addresses enable DoS/Censorship #8

Open code423n4 opened 3 years ago

code423n4 commented 3 years ago

Handle

nascent

Vulnerability details

Tokens that prevent transfers to particular addresses (most commonly address(0) as is the OpenZeppelin standard) enables DoS against a batch. If the attacker submits the bad transaction, the relayer wont submit the batch. The attacker never has to worry about the transaction being submitted and paying the fee because the transaction will fail, leaving the relayer stuck with the bill. This can enable MEV between chains by disabling others' ability to close arbitrage between chains by denying them their transfers off the chain.

jkilpatr commented 2 years ago

The relayer will not actually pay the bill, since we simulate the tx before submission. That being said this is a valid way to block a batch for long enough that it times out.

I would describe this as low risk. Since it doesn't compromise the bridge or lose tokens, just potential value from arbitrage.

The correct solution here is to block invalid transactions from being added to batches on the Cosmos side. (which I just checked we do not block the zero address in MsgSendToEth)

loudoguno commented 2 years ago

reopening as per judges assessment as "primary issue" on findings sheet