M-01 Token transfers do not verify that the tokens were successfully transferred #289
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
edited-by-warden
Lines of code
https://github.com/code-423n4/2022-10-holograph/blob/main/contracts/enforcer/PA1D.sol#L416
Vulnerability details
Impact
Not all IERC20 implementations revert() when there’s a failure in transfer() / transferFrom(). The function signature has a boolean return value and they indicate errors that way instead. By not checking the return value, operations that should have marked as failed, may potentially go through without actually making a payment
Proof of Concept
There are 4 instances of this issue:
https://github.com/code-423n4/2022-10-holograph/blob/main/contracts/HolographOperator.sol
https://github.com/code-423n4/2022-10-holograph/blob/main/contracts/enforcer/PA1D.sol
Tools Used
Manual audit
Recommended Mitigation Steps
Perform the check.
The text was updated successfully, but these errors were encountered: