Multichain signature reuse / replay risk in HolographERC20.sol #173
Labels
2 (Med Risk)
Assets not at direct risk, but function/availability of the protocol could be impacted or leak value
bug
Something isn't working
duplicate
This issue or pull request already exists
invalid
This doesn't seem right
Lines of code
https://github.com/code-423n4/2022-10-holograph/blob/f8c2eae866280a1acfdc8a8352401ed031be1373/contracts/enforcer/HolographERC20.sol#L460
https://github.com/code-423n4/2022-10-holograph/blob/f8c2eae866280a1acfdc8a8352401ed031be1373/contracts/enforcer/HolographERC20.sol#L470
https://github.com/code-423n4/2022-10-holograph/blob/f8c2eae866280a1acfdc8a8352401ed031be1373/contracts/enforcer/HolographERC20.sol#L481
Vulnerability details
Impact
User is able to copy user's signature from chain A to grand malicious approval in Chain B and malicious actor can steal user's fund in chain B.
The HolographERC20.sol is likely to be deployed cross-chain. According to the documentation.
https://docs.holograph.xyz/holograph-protocol/protocol-specification
In this case, the signature schema has security risk
because the chainId is missing, User is able to copy user's signature from chain A to grand malicious approval in Chain B and malicious actor can steal user's fund in chain B.
Proof of Concept
Tools Used
Manual Review
Recommended Mitigation Steps
We recommend add chain Id in the signature schedma to avoid the multichain replay.
The text was updated successfully, but these errors were encountered: