Using transferFrom
on ERC721 tokens transfer
#97
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
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
Lines of code
https://github.com/code-423n4/2022-05-cally/blob/1849f9ee12434038aa80753266ce6a2f2b082c59/contracts/src/Cally.sol#L295
https://github.com/code-423n4/2022-05-cally/blob/1849f9ee12434038aa80753266ce6a2f2b082c59/contracts/src/Cally.sol#L344
Vulnerability details
Impact
Cally.exercise()
andCally.withdraw()
, ERC721 token is sent tomsg.sender
and thetransferFrom
keyword is used instead ofsafeTransferFrom
. Ifmsg.sender
is a contract and is not aware of incoming ERC721 tokens, the sent tokens could be locked foreverProof of Concept
Recommended Mitigation Steps
transferFrom
tosafeTransferFrom
.The text was updated successfully, but these errors were encountered: