Open code423n4 opened 1 year ago
Picodes marked the issue as primary issue
Picodes marked the issue as selected for report
@0xJurassicPunk looks like a real issue to me
0xhiroshi marked the issue as sponsor confirmed
0xhiroshi marked the issue as disagree with severity
The worst case is for us to not able to collect fees, and we can technically just deploy a new contract to fix this. Not sure if this is considered assets stolen/lost/compromise?
Update we are dropping fees completely.
Picodes changed the severity to 2 (Med Risk)
Medium severity as no user funds are at risk, and the impact for the protocol would be minimal
Picodes marked the issue as satisfactory
Lines of code
https://github.com/code-423n4/2022-11-looksrare/blob/main/contracts/proxies/SeaportProxy.sol#L136-L164 https://github.com/code-423n4/2022-11-looksrare/blob/main/contracts/proxies/SeaportProxy.sol#L232-L252
Vulnerability details
Impact
The
order.price
in the parametertradeData
is not used as the actual token amount sent to the seaport market and also not checked if those are equal when using theERC20EnabledLooksRareAggregator
forSeaportPorxy
with ERC20 tokens.So users can set the order.price to ZERO to avoid paying any fees for ERC20 orders.
Proof of Concept
Test file SeaportUSDCZeroPrice.t.sol, modified from test SeaportProxyERC721USDC.t.sol and annotate with
# diff
.run test:
Tools Used
foundry
Recommended Mitigation Steps
Assert the order price is equal to the token amount of the seaport order when populating parameters.