Closed sherlock-admin closed 1 year ago
ADM
medium
ECDSA.recover() is being used with an openZeppelin contracts version < 4.7.3 which contains a signature malleability vulnerability.
In the function checkOfferArg() in BorrowCheckers.sol ECDSA.recover() is called with a signature that is a single bytes argument. This can results in the function being vulnerable to signature reuse.
An offer may be accepted against more than once.
package.json#L16 BorrowCheckers.sol#L29
Manual Review
Update openZeppelin's contract library to at least version 4.7.3.
Duplicate of #151
ADM
medium
Signature malleability vulnerability in openZeppelin contracts library version < 4.7.3.
Summary
ECDSA.recover() is being used with an openZeppelin contracts version < 4.7.3 which contains a signature malleability vulnerability.
Vulnerability Detail
In the function checkOfferArg() in BorrowCheckers.sol ECDSA.recover() is called with a signature that is a single bytes argument. This can results in the function being vulnerable to signature reuse.
Impact
An offer may be accepted against more than once.
Code Snippet
package.json#L16 BorrowCheckers.sol#L29
Tool used
Manual Review
Recommendation
Update openZeppelin's contract library to at least version 4.7.3.
Duplicate of #151