Open code423n4 opened 3 years ago
This is a potential issue in the case of a hard fork, but we will not address it for the following reasons:
chainId
in the event of a forkchainId
gives admins a huge amount of power over the system itselfchainId
that could result in unpredictable transaction behaviorInstead, the course of action is to redeploy the contracts with the correct chainId
.
Handle
shw
Vulnerability details
Impact
The
chainId
information included in theTransactionManager
is immutable, i.e., it could not change after the contract is deployed. However, if a hard fork happens in the future, the contract would become invalid on one of the forked chains because the chain ID has changed.Proof of Concept
Referenced code: TransactionManager.sol#L73 TransactionManager.sol#L79
Recommended Mitigation Steps
Add a function that allows the admin to set the
chainId
variable if a hard fork happens.