code-423n4 / 2022-07-fractional-findings

0 stars 0 forks source link

Anyone can call propose() and create a DOS #652

Closed code423n4 closed 2 years ago

code423n4 commented 2 years ago

Lines of code

https://github.com/code-423n4/2022-07-fractional/blob/8f2697ae727c60c93ea47276f8fa128369abfe51/src/modules/Migration.sol#L72

Vulnerability details

A denial of service can be initiated by anyone, since there is no check for any address, and also no Ether/ERC20 at stake.

Impact

Denial of service for vault migration

Proof of Concept

Contract : Migration.sol, function propose()

Recommended Mitigation Steps

Make this function payable, and the msg.sender should stake some value that can be returned by protocol after migration.

Ferret-san commented 2 years ago

0 - Not Bug

PoC is insufficient to support the claim. Since the function propose() alters the state of the contract, any attacker must pay gas to execute the transaction itself.

HardlyDifficult commented 2 years ago

Since the proposals all have a unique id, I'm not clear what the DOS is preventing. Insufficient detail included to judge - closing as invalid.