Omniscia fetchai Audit
LoanLiquidator Manual Review Findings
LoanLiquidator Manual Review Findings
LLR-01M: Inexistent Access Control
Type | Severity | Location |
---|---|---|
Logical Fault | Major | LoanLiquidator.sol:L448-L462 |
Description:
The transferLoanACT
function performs no access control on the caller, permitting the finalization of a loan transfer at any point in time by anyone.
Example:
contracts/ALP/LoanLiquidator.sol
448function transferLoanACT(449 uint256 fromACTId,450 uint256 toACTId,451 uint256 actAmount,452 address trustee453) external whenNotPaused() {454 actContract.safeTransferFrom(455 loanLiquidatorWalletAddress,456 trustee,457 fromACTId,458 actAmount,459 ""460 );461 actContract.safeTransferFrom(trustee, loanLiquidatorWalletAddress, toACTId, actAmount, "");462}
Recommendation:
We advise strict access control to be imposed on this function to ensure that it cannot be invoked arbitrarily.
Alleviation:
Access control was properly introduced to the transferLoanACT
function by invoking the internal requireIsPrivileged
function.