https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/defaults/default_avatar_6.png

evan

Security Researcher

Contact Me

High

15

Total

Medium

23

Total

$34.89K

Total Earnings

#252 All Time

9x

Payouts

gold

1x

1st Places

regular

4x

Top 10

regular

7x

Top 25

All

Sherlock

Code4rena

Mar '23

Y2K

Y2K

2,134.11 USDC • 9 total findings • Sherlock • evan

#7

high

enlistInRollover updates ownerToRollOverQueueIndex incorrectly

high

DepositFee can be avoided completely

high

User will almost always incur a loss when they rollover

high

Malicious users can prevent the user at the end of the queue from rolling over

medium

It's possible to permanently DOS the rollover system

medium

triggerEndEpoch can be called on null epochs

medium

attacker can drain the premium vault if depegging happens before the epoch starts

medium

getLastestPrice can return stale price

medium

Relayers for the rollover queue can be griefed

Feb '23

Derby

Derby

438.71 USDC • 5 total findings • Sherlock • evan

#16

medium

Player can prevent rebalancing from completing by allocating to blacklisted protocols.

medium

XChainController does not reset vault's totalWithdrawalRequests

medium

pushTotalUnderlyingToController can still be called even if the vault is inactive

medium

Pullfunds can end before the necessary funds have been pulled

medium

Players can call rebalanceBasket before rewards have been pushed to the game

Blueberry

Blueberry

1,107.61 USDC • 4 total findings • Sherlock • evan

#12

high

Liquidate calculations are incorrect when position borrows more than 1 type of token

high

vault LPTokens can stay in ichiVaultSpell after closePosition() and be drained by another user

high

Underlying amount after withdrawLend is incorrect if hard/soft vault has withdraw fee

medium

Data returned from latestRoundData() not sufficiently checked

Jan '23

RabbitHole Quest Protocol contest

RabbitHole Quest Protocol contest

159.6 USDC • 3 total findings • Code4rena • evan

#26

high

Protocol fees can be withdrawn multiple times in `Erc20Quest`

medium

Funds can be stuck due to wrong order of operations

medium

DOS risk if enough tokens are minted in Quest.claim can lead, at least, to transaction fee lost

Drips Protocol contest

Drips Protocol contest

25,825.8 USDC • 1 total finding • Code4rena • evan

gold

high

Drips that end after the current cycle but before its creation can allow users to profit from squeezing

Astaria contest

Astaria contest

4,377.2 USDC • 10 total findings • Code4rena • evan

#6

high

Function processEpoch() in PublicVault would revert when most of the users withdraws their funds because of the underflow for new yIntercept calculation

high

Attacker can take loan for Victim

high

Strategist can fail to withdraw asset token from a private vault

high

Improper validations in Clearinghouse. possible to lock collateral NFT in contract.

medium

Public vault owner (strategist) can use buyoutLien to indefinitely prevent liquidity providers from withdrawing

medium

yIntercept of public vaults can overflow

medium

Liquidator reward is not taken into account when calculating potential debt

medium

Public vault slope can overflow

medium

Public vault strategist reward is not calculated correctly

medium

LienToken._payment function increases users debt

Dec '22

Papr contest

Papr contest

133.18 USDC • 2 total findings • Code4rena • evan

#23

medium

PaprController.buyAndReduceDebt: msg.sender can lose paper by paying the debt twice

medium

`PaprController` pays swap fee in `buyAndReduceDebt`, not user

Forgeries contest

Forgeries contest

663.59 USDC • 2 total findings • Code4rena • evan

#5

medium

Protocol safeguards for time durations are skewed by a factor of 7. Protocol may potentially lock NFT for period of 7 years.

medium

Raffle creator can rug participants

Escher contest

Escher contest

50.45 USDC • 2 total findings • Code4rena • evan

#51

high

`LPDA` price can underflow the price due to bad settings and potentially brick the contract

high

`saleReceiver` and `feeReceiver` can steal refunds after sale has ended