<!-- canonical: https://0xsimao.com/findings/maple-finance-iii-propose-terms-duplicate-selectors -->

# MapleLoan, proposeNewTerms() could have a check for duplicate selectors.

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

Finding 3S-MAPLE-L01 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

Terms can be proposed with duplicated calls, which could lead to mistakes or phishing
attacks.

### Recommendation

Send the calls ordered by selector and check that the next selector is strictly bigger than
the previous.

### Status

Acknowledged by the team.

---

Related findings:

- [Duplicate size to fill check in _staticFillToAmm()](https://0xsimao.com/findings/nftperp-ii-duplicate-size-fill-static): Nftperp Matching Engine
- [BRC20Factory constructor is missing a duplicate check](https://0xsimao.com/findings/orange-brc20-factory-constructor-duplicate): Orange Bridge
- [Signer duplicate check can be performed by requiring signers being sent ordered](https://0xsimao.com/findings/orange-signer-requiring-signers-ordered): Orange Bridge
