<!-- canonical: https://0xsimao.com/findings/maple-finance-iii-initializer-borrower-choose-different -->

# In MapleLoanInitializer, the Borrower can choose a different fundsAsset than the lender.

Low/Info · Three Sigma · Institutional lending · 10th April, 2024

Finding 3S-MAPLE-L03 of the Maple Finance security review.

- Protocol: https://maple.finance/
- Report: /reports/maple-finance-iii-2024
- Source: https://cdn.sanity.io/files/qoqld077/production/36dbe5ca76da3d2392bcee581548067705b8bd36.pdf

---

### Description

The code allows for the Borrower to choose a different fundsAsset than the lender. At the
moment this will make fund() revert and the borrower has to redeploy the loan with the
right argument, however this results in a lot of wasted gas and could even become a bigger
problem in a future upgrade.

### Recommendation

Add a check in the MapleLoanInitializer to make sure the loan's asset matches that of
the loan manager's.

### Status

Addressed in the following PR:
https://github.com/maple-labs/open-term-loan-private/pull/53

---

Related findings:

- [When APR late rate is lower than APR, an OCC locker bullet loan borrower can pay way less interests by calling the loan](https://0xsimao.com/findings/zivoe-occ-bullet-pay-interests): Zivoe
- [`FlashRolloverLoan_G5` will fail for `LenderCommitmentGroup_Smart` due to `CollateralManager` pulling collateral from `FlashRolloverLoan_G5`](https://0xsimao.com/findings/teller-finance-flash-rollover-collateral-pulling): Teller Finance
- [Interest rate in `LenderCommitmentGroup_Smart` may be easily manipulated by depositing, taking a loan and withdrawing](https://0xsimao.com/findings/teller-finance-interest-easily-manipulated-taking): Teller Finance
- [Drained lender due to `LenderCommitmentGroup_Smart::acceptFundsForAcceptBid()` `_collateralAmount` by `STANDARD_EXPANSION_FACTOR` multiplication](https://0xsimao.com/findings/teller-finance-bid-collateral-factor-multiplication): Teller Finance
