CollateralManager#commitCollateral can be called by anyone
CollateralManager#commitCollateral has no access control allowing users to freely add malicious tokens to any bid\\nCollateralManager.sol#L117-L130\\n```\\nfunction commitCollateral(\\n    uint256 _bidId,\\n    Collateral[] calldata _collateralInfo\\n) public returns (bool validation_) {\\n    address borrower = tellerV2.getLoanBorrower(_bidId);\\n    (validation_, ) = checkBalances(borrower, _collateralInfo); <- @audit-issue no access control\\n\\n    if (validation_) {\\n        for (uint256 i; i < _collateralInfo.length; i++) {\\n            Collateral memory info = _collateralInfo[i];\\n            _commitCollateral(_bidId, info);\\n        }\\n    }\\n}\\n```\\n\\nCollateralManager#commitCollateral has no access control and can be called by anyone on any bidID. This allows an attacker to front-run lenders and add malicious tokens to a loan right before it is filled.\\nA malicious user creates a malicious token that can be transferred once before being paused and returns uint256.max for balanceOf\\nUser A creates a loan for 10e18 ETH against 50,000e6 USDC at 10% APR\\nUser B decides to fill this loan and calls TellerV2#lenderAcceptBid\\nThe malicious user sees this and front-runs with a CollateralManager#commitCollateral call adding the malicious token\\nMalicious token is now paused breaking both liquidations and fully paying off the loan\\nMalicious user leverages this to ransom the locked tokens, unpausing when it is paid
Cause CollateralManager#commitCollateral to revert if called by anyone other than the borrower, their approved forwarder or TellerV2
User can add malicious collateral calls to any bid they wish
```\\nfunction commitCollateral(\\n    uint256 _bidId,\\n    Collateral[] calldata _collateralInfo\\n) public returns (bool validation_) {\\n    address borrower = tellerV2.getLoanBorrower(_bidId);\\n    (validation_, ) = checkBalances(borrower, _collateralInfo); <- @audit-issue no access control\\n\\n    if (validation_) {\\n        for (uint256 i; i < _collateralInfo.length; i++) {\\n            Collateral memory info = _collateralInfo[i];\\n            _commitCollateral(_bidId, info);\\n        }\\n    }\\n}\\n```\\n