
22x
Payouts

1x
1st Places

4x
2nd Places

1x
3rd Places
All
Sherlock
Code4rena
Feb '23
Nov '22
Aug '22
Jun '22
high
`acceptCounterOffer()` May Result In Both Orders Being Filled
medium
`fillOrder()` and `exercise()` may lock Ether sent to the contract, forever
medium
Malicious Token Contracts May Lead To Locking Orders
medium
Overlap Between `ERC721.transferFrom()` and `ERC20.transferFrom()` Allows `order.erc20Assets` or `order.baseAsset` To Be ERC721 Rather Than ERC20
high
Allowance check always true in ERC5095 redeem
high
ERC5095 redeem/withdraw does not update allowances
high
Able to mint any amount of PT
high
Funds may be stuck when `redeeming` for Illuminate
high
[H-05] Not minting iPTs for lenders in several lend functions
high
Division Before Multiplication Can Lead To Zero Rounding Of Return Amount
high
Pendle Uses Wrong Return Value For `swapExactTokensForTokens()`
medium
Swivel lend method doesn't pull protocol fee from user
medium
Lend method signature for illuminate does not track the accumulated fee
medium
sellPrincipalToken, buyPrincipalToken, sellUnderlying, buyUnderlying uses pool funds but pays msg.sender
medium
`Lender.mint()` May Take The Illuminate PT As Input Which Will Transfer And Mint More Illuminate PT Cause an Infinite Supply
medium
Centralisation Risk: Admin Can Change Important Variables To Steal Funds
medium
Calls To `Swivel.initiate()` Do Not Verify `o.exit` or `o.vault` Allowing An Attacker To Manipulate Accounting In Their Favour
May '22
medium
Duplicate LP token could lead to incorrect deposits
medium
`VE3DRewardPool` and `VE3DLocker` adds to an unbounded array which may potentially lock all rewards in the contract
medium
Misconfiguration of Fees Incentive Might Cause Tokens To Be Stuck In `Booster` Contract
medium
Centralisation RIsk: `VoterProxy` owner may set the `operate` to an address they own and drain all token balances
Mar '22
high
Splitter: Anyone can call incrementWindow to steal the tokens in the contract
high
CoreCollection can be reinitialized
high
ERC20 transferFrom return values not checked
high
DoS: `claimForAllWindows()` May Be Made Unusable By An Attacker
high
Centralisation RIsk: Owner Of `RoyaltyVault` Can Take All Funds
medium
createProject can be frontrun
medium
DoS: Attacker May Front-Run `createSplit()` With A `merkleRoot` Causing Future Transactions With The Same `merkleRoot` to Revert
medium
Ineffective Handling of FoT or Rebasing Tokens
medium
Fixed Amount of Gas Sent in Call May Be Insufficient
high
Reliance on lifiData.receivingAssetId can cause loss of funds
medium
Swap functions are Reenterable
medium
`AnyswapFacet` can be exploited to approve arbitrary tokens.
medium
ERC20 bridging functions do not revert on non-zero msg.value
medium
Reputation Risks with `contractOwner`
medium
Anyone can get swaps for free given certain conditions in `swap`.
medium
`msg.value` is Sent Multipletimes When Performing a Swap
Feb '22
high
`ConvexStakingWrapper._calcRewardIntegral()` Can Be Manipulated To Steal Tokens From Other Pools
high
[WP-H8] `ConvexStakingWrapper.sol#_calcRewardIntegral` Wrong implementation can disrupt rewards calculation and distribution
medium
`MasterChef.updatePool()` Fails To Update Reward Variables If `block.number >= endBlock`
medium
[ConcurRewardPool] Possible reentrancy when claiming rewards
Jan '22
high
Loss Of Flash Governance Tokens If They Are Not Withdrawn Before The Next Request
high
Lack of access control on `assertGovernanceApproved` can cause funds to be locked
medium
Calling `generateFLNQuote` twice in every block prevents any migration
medium
You can flip governance decisions without extending vote duration
medium
Reentrancy on Flash Governance Proposal Withdrawal
medium
Burning a User's Tokens for a Flash Proposal will not Deduct Their Balance