<!-- canonical: https://0xsimao.com/findings/vertex-perp-burn-spot-slippage -->

# PerpEngineLp::burnLp() and SpotEngineLp::burnLp() are missing slippage checks

Low/Info · Three Sigma · Hybrid orderbook DEX · 3rd April 2024

Finding 3S-Vertex-L07 of the Vertex security review.

- Report: /reports/vertex
- Source: https://github.com/0xsimao/audits/blob/main/Three%20Sigma/2024-04-03-vertex.pdf

---

### Description

PerpEngineLp::burnLp() and SpotEngineLp::burnLp() have no slippage control
parameters, which means that a user could get base and quote at a worse price/quantity
than expected.
The severity in Vertex is lower as transactions have to go through a delay or the sequencer,
which makes it much harder to do MEV. In any case, the issue persists.

### Recommendation

Include minimum quote and base parameters in the burnLp() functions.

### Status

Acknowledged

Disclosed by 0xSimao (https://0xsimao.com/).

---

Related findings:

- [`LenderCommitmentGroup_Smart_test::addPrincipalToCommitmentGroup/burnSharesToWithdrawEarnings()` are vulnerable to slippage attacks](https://0xsimao.com/findings/teller-finance-burn-shares-withdraw-slippage): Teller Finance
- [deTokenize() is missing access control, anyone can burn other people's nfts](https://0xsimao.com/findings/metazero-i-tokenize-access-control-burn): MetaZero Omnichain NFTs
- [Uniswap asset managers are missing slippage checks](https://0xsimao.com/findings/singularity-uniswap-managers-slippage-checks): Singularity
- [`ManagedLeveragedVault::donateCollateral()` is missing a slippage check](https://0xsimao.com/findings/beraborrow-i-managed-donate-collateral-slippage): Beraborrow Managed Dens
