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

bughuntoor

Security Researcher

Contact Me

High

2

Solo

68

Total

Medium

11

Solo

73

Total

$520.03K

Total Earnings

#12 All Time

53x

Payouts

gold

14x

1st Places

silver

5x

2nd Places

bronze

4x

3rd Places

All

Sherlock

Blackthorn

Code4rena

Cantina

CodeHawks

May '25

Usual - May 12th

Usual - May 12th

Collaborative Audit • Sherlock • bughuntoor

Apr '25

ZKP2P V2

ZKP2P V2

19,500 OP • Sherlock • bughuntoor

#8

Findings not publicly available for private contests.

Feb '25

Usual Labs

Usual Labs

36,135.38 USDC • Sherlock • bughuntoor

gold

Jan '25

doppler-contracts

doppler-contracts

20,689.19 USDC • 7 total findings • Cantina • deadrosesxyz

gold

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

Beraborrow

Beraborrow

4,503.87 USDC • Sherlock • bughuntoor

#6

Findings not publicly available for private contests.

Aave v3.3

Aave v3.3

16,644.26 USDC • Sherlock • bughuntoor

#4

Dec '24

Ethos Reputation Market Fix Review Contest

Ethos Reputation Market Fix Review Contest

13,618.05 USDC • 2 total findings • Sherlock • bughuntoor

gold

medium

Wrong rounding will make a market insolvent

medium

Determining how many votes to buy may run OOG.

Oku's New Order Types Contract Contest

Oku's New Order Types Contract Contest

1,232.13 OP • 5 total findings • Sherlock • bughuntoor

gold

high

Attacker can drain the protocol due to unsafe downcasting

high

User can create offers with the same id and drain the contract

high

User can drain `oracleLess` approvals as the contract pulls the funds from the recipient address.

medium

Order will be executed with wrong slippage if by the time of execution, price crosses take profit

medium

`oracleLess` contract can be permanently DoS'd

Nov '24

Ethos Network Financial Contracts

Ethos Network Financial Contracts

11,530.11 USDC • 4 total findings • Sherlock • bughuntoor

#6

high

When buying votes, fees are taken from the whole `msg.value` instead of the amount spent on votes.

high

When buying votes, protocol and donation fees are accidentally added to the market funds

high

The bonding curve logic is flawed and allows for full drain of funds

medium

There's no slippage protection when selling votes

Resolv Core

Resolv Core

15,300 OP • Sherlock • bughuntoor

gold

Findings not publicly available for private contests.

HatsSignerGate v2

HatsSignerGate v2

19,500 USDC • 2 total findings • Sherlock • bughuntoor

gold

high

Detaching HSG when there's non-unregistered owners who no longer own the hat would give them control over the multi-sig

medium

Signer can avoid restrictions and change `safe` state variables

vVv Launchpad - Investments & Token distribution

vVv Launchpad - Investments & Token distribution

5,594.59 USDC • 1 total finding • Sherlock • bughuntoor

gold

high

Attacker can steal all claims

Oct '24

Avantis v1.5: Cross-Asset Leverage

Avantis v1.5: Cross-Asset Leverage

31,126.31 OP • Sherlock • bughuntoor

#4

Findings not publicly available for private contests.

predict.fun lending market

predict.fun lending market

8,365.40 USDC • 2 total findings • Sherlock • bughuntoor

#4

medium

Repayments will fail if lender gets blacklisted

medium

Refinancing and auction take less fee than expected.

Sep '24

symbioticfi-core

symbioticfi-core

348.46 USDC • 1 total finding • Cantina • deadrosesxyz

#11

medium

Finding not yet public.

uniswap-v4

uniswap-v4

19,419.8 USDC • 2 total findings • Cantina • deadrosesxyz

#5

medium

Finding not yet public.

medium

Finding not yet public.

Aug '24

The Wildcat Protocol

The Wildcat Protocol

47,697.65 USDC • 5 total findings • Code4rena • deadrxsezzz

gold

high

User could withdraw more than supposed to, forcing last user withdraw to fail

medium

Users are incentivized to not withdraw immediately after the market is closed.

medium

Role providers can bypass intended restrictions and lower expiry set by other providers

medium

`FixedTermLoanHook` looks at `block.timestamp` instead of `expiry`

medium

Inconsistency across multiple repaying functions causing lender to pay extra fees.

Velar Artha PerpDEX

Velar Artha PerpDEX

27,080.26 USDC • 6 total findings • Sherlock • bughuntoor

silver

high

User can sandwich their own position close to get back all of their position fees

medium

Usage of `tx.origin` to determine the user is prone to attacks

medium

First depositor could DoS the pool

medium

Liquidity providers can remove liquidity to force positions into high fees

medium

If position goes to 0, the funding fees it should've received are never redistributed and are forever stuck

medium

User could have impossible to close position if funding fees grow too big.

Jul '24

Velocimeter

Velocimeter

62,564.22 USDC • 11 total findings • Sherlock • bughuntoor

gold

high

User can make their `veNFT` unpokeable by doing a dust vote

high

`disable_max_lock` does not work for last NFT in the array

high

User might lose funds when adding liquidity within `OptionTokenV4`

high

Pausing a gauge results in all it's claimable funds becoming forever stuck

high

Checkpointing total supply when `block.timestamp % WEEK == 0` will result in overdistribution of rewards

high

If user merges their `veNFT`, they'll lose part of their rewards

high

Exercising a large amount of options gives significantly higher discounts than supposed to.

medium

User can make their `veNFT` unpokeable by voting for a to-be-killed gauge

medium

Minter will get DoS'd in certain scenario

medium

First liquidity provider of a stable pair can DoS the pool

medium

Rewards supplied to a gauge, prior to its first depositor will be permanently lost.

Jun '24

dHEDGE

dHEDGE

8,146.22 USDC • Sherlock • bughuntoor

bronze

Findings not publicly available for private contests.

May '24

Beanstalk: The Finale

Beanstalk: The Finale

44,018.90 USDC • 20 total findings • CodeHawks • deadrosesxyz

silver

high

`ReseedSilo#reseedSiloDeposit` does not credit the user any `roots`

high

Successful transactions are not stored, causing a replay attack on ``redeemDepositsAndInternalBalances``

high

Internal balances are never actually migrated within `L2ContractMigrationFacet`

high

L2ContractMigrationFacet doesn't increase total Stalk and Roots

high

User's stalk is overwritten instead of increased within `ReseedSilo`

high

`L2ContractMigrationFacet.addMigratedDepositsToAccount()` doesn't update some global balances during the migration.

high

Possible loss of user's balances after calling `addMigratedDepositsToAccount()`.

high

ReseedSilo doesn't update total balances of Stalk and Roots

high

`ReseedSilo` does not set the necessary user variables

medium

quickSort function does not work as expected, compromising the calculation of Beans per Well to be minted during a flood

medium

When migrating via `L2ContractMigrationFacet`, user is not minted roots for the newly accrued stalk

medium

Attacker can spam Plots to victim to cause DOS on Plot transfer

medium

If user has not mown since germination, they'll lose their portion of `plenty`

medium

User will lose the rest of their `plenty` if they fully withdraw during/after `rain`.

medium

`redeemDepositsAndInternalBalances` should mow before adding migrated deposits

medium

`fundsSafu` modifier will be useless on L2 before all users have successfully migrated.

low

Malicious users can delete plots from other users in a specific edge case

low

If token get's unwhitelisted, users will be unable to claim the `plenty` they've accrued prior to the unwhitelist

low

Hardcoded `MERKLE_ROOT` will make the contract unusable

low

`plenty` balances are not migrated on L2

Terrace

Terrace

6,644.92 USDC • Sherlock • bughuntoor

silver

Findings not publicly available for private contests.

Beefy Cowcentrated Liquidity Manager

Beefy Cowcentrated Liquidity Manager

12,375 USDC • 1 total finding • Sherlock • bughuntoor

gold

medium

Accounting will be broken if `output` token is one of the `lpTokens`

Apr '24

Uncuts.App (by REKT)

Uncuts.App (by REKT)

4,850 USDC • Sherlock • bughuntoor

gold

Findings not publicly available for private contests.

Teller Finance

Teller Finance

7,655.10 USDC • 9 total findings • Sherlock • bughuntoor

#5

high

Users can take undercollateralized borrows, as contract falsely assumes `requiredCollateral` is scaled up by 1e18

high

No way for `LenderCommitmentGroup_Smart` to claim funds deposited into an `EscrowVault`

high

`lenderCloseLoanWithRecipient` sends the collateral to the lender, instead of the `recipient`

high

Attacker can drain/DoS any `LenderCommitmentGroup_Smart` by repaying fake loans.

high

Multiple instances of using `approve` instead of `safeApprove`

high

It is impossible for a lender to close loan if they've claimed the loan NFT

medium

Possible donation attack within `LenderCommitmentGroup_Smart`

medium

FlashRolloverLoan is unusable as `SmartCommitmentForwarder` does not inherit `ERC2711ContextUpgradeable`

medium

`_repayLoan` now allows for overpaying of loan and could cause DoS within `LenderCommitmentGroup_Smart`

Mar '24

WagmiLeverage V2

WagmiLeverage V2

16,500 USDC • 1 total finding • Sherlock • bughuntoor

gold

medium

Liquidation bonus scales exponentially instead of linearly.

Zap Protocol

Zap Protocol

6,786.66 USDC • 4 total findings • Sherlock • bughuntoor

silver

high

User can drain the Vesting contract via re-entrancy

high

Tax refund is calculated based on the wrong amount

high

If token does not oversell, users cannot claim tax refund on their tax free allocation.

medium

Vesting contract cannot work with ETH, although it's supposed to.

Telcoin Platform Audit Update

Telcoin Platform Audit Update

7,570.99 USDC • 2 total findings • Sherlock • bughuntoor

gold

medium

Users can still receive and send tokens after getting blacklisted

medium

`BridgeRelay` makes an approval to the same `predicate` address, despite different tokens/ eth having different predicates.

Feb '24

Jala Swap

Jala Swap

7,363.37 USDC • 1 total finding • Sherlock • bughuntoor

#5

medium

Router's permit functions are unusable, since `JalaPair` lacks a permit function

curvance

curvance

13,574.12 USDC • 7 total findings • Cantina • deadrosesxyz

#8

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

AI Arena

AI Arena

0.33 USDC • 3 total findings • Code4rena • deadrxsezzz

#177

high

A locked fighter can be transferred; leads to game server unable to commit transactions, and unstoppable fighters

high

Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`

medium

DoS in `MergingPool::claimRewards` function and potential DoS in `RankedBattle::claimNRN` function if called after a significant amount of rounds passed.

100x

100x

532.01 USDC • Sherlock • deadrxsezzz

#6

Findings not publicly available for private contests.

Jan '24

LooksRare YOLO

LooksRare YOLO

4,616.57 USDC • 3 total findings • Sherlock • bughuntoor

gold

high

Users can win the pot with 0-value entries

high

A user can mask a ERC20 deposit as ERC721 one and get significant advantage.

medium

`depositETHIntoMultipleRounds` allows to bypass `MAXIMUM_NUMBER_OF_DEPOSITS_PER_ROUND` which can lead to OOG in `fulfillRandomWords`

JOJO Exchange Update

JOJO Exchange Update

1,015.09 USDC • 3 total findings • Sherlock • bughuntoor

silver

high

Unsafe `call` allows an arbitrary user to steal all funds within JOJODealer

medium

Adversary can DoS all users from regular withdraws

medium

First depositor issue in `FundingRateArbitrage`

Truflation

Truflation

196.81 USDC • 2 total findings • Sherlock • bughuntoor

#7

high

Users can fully drain the `TrufVesting` contract

medium

User can extend their expired lock and get free ve balance

Dec '23

Usual Labs

Usual Labs

Collaborative Audit • Blackthorn • bughuntoor

Nov '23

Convergence

Convergence

3,029.74 USDC • 4 total findings • Sherlock • bughuntoor

bronze

high

User can pass an array full of the same token id to `manageOwnedAndDelegated` and significantly increase their voting power

high

Reducing a gauge's weight might result to full DoS within GaugeController

medium

If the multiple calls to `writeStakingRewards` cross a week's end, it will result in unfair distribution of rewards

medium

`mgCvg` balances are wrongfully calculated

Velodrome-Mellow Blackthorn

Velodrome-Mellow Blackthorn

Collaborative Audit • Blackthorn • bughuntoor

Sep '23

Venus Prime

Venus Prime

198.48 USDC • 1 total finding • Code4rena • deadrxsezzz

#20

high

A malicious user can avoid unfavorable score updates after alpha/multiplier changes, resulting in accrual of outsized rewards for the attacker at the expense of other users

Aug '23

Cooler Update

Cooler Update

216.31 USDC • 4 total findings • Sherlock • deadrxsezzz

#8

high

If `claimDefaulted` is called before `claimRepaid` all of `loan.unclaimed` will be lost

high

If `loan.callback == true`, lender can force all repayments to revert and force loan into default

medium

Anyone can accept new terms by calling `rollLoan` due to lack of access control.

medium

Lender can front-run `rollLoan` and call `provideNewTermsForRoll` with unfavorable terms

Dopex

Dopex

1,918.25 USDC • 4 total findings • Code4rena • deadrxsezzz

#7

high

`ReLPContract` wrongfully assumes protocol owns all of the liquidity in the UniswapV2 pool

high

Improper precision of strike price calculation can result in broken protocol

high

The peg stability module can be compromised by forcing lowerDepeg to revert.

medium

reLP() mintokenAAmount the calculations are wrong.

Sparkn

Sparkn

0.00 USDC • 1 total finding • CodeHawks • deadrosesxyz

#93

low

If a winner is blacklisted on any of the tokens they can't receive their funds

veRWA

veRWA

2,554.76 USDC • 4 total findings • Code4rena • deadrxsezzz

bronze

high

When adding a gauge, its initial value has to be set by an admin or all voting power towards it will be lost

high

Voters from VotingEscrow can vote infinite times in vote_for_gauge_weights() of GaugeController

high

If governance removes a gauge, user's voting power for that gauge will be lost.

medium

Users can front-run calls to `change_gauge_weight` to gain extra voting power

Jul '23

Beedle - Oracle free perpetual lending

Beedle - Oracle free perpetual lending

367.64 USDC • 12 total findings • CodeHawks • deadrosesxyz

#9

high

Tokens with less than 18 decimals allow for draining of funds

high

During refinance() new Pool balance debt is subtracted twice

high

Borrower can bypass maxLoanRatio's configuration of a pool via buyLoan()

high

[H-04] Lender#buyLoan - Malicious user could take over a loan for free without having a pool because of wrong access control

high

Stealing any loan opening for auction through others' lending pool

high

A pool lender can fully drain another user's pool by abusing `buyLoan`

high

Forcing a borrower to pay a huge debt via the giveLoan()

medium

The `borrow` and `refinance` functions can be front-run by the pool lender to set high interest rates

medium

Some ERC20 tokens would revert on zero value fee transfers.

low

User can DoS pool lender's withdrawals.

low

Possible DOS by borrowers in `setPool()`

low

Inability to refinance within the same pool due to exceeding the pool balance

Jun '23

GLIF

GLIF

6,583.96 USDC • Sherlock • deadrxsezzz

bronze

Findings not publicly available for private contests.

May '23

Iron Bank

Iron Bank

1.76 USDC • 2 total findings • Sherlock • deadrxsezzz

#21

medium

Chainlink Oracle will return the wrong price for asset if underlying aggregator hits minAnswer

medium

Oracle doesn't check if L2 Arbitrum sequencer is down

Ajna Protocol

Ajna Protocol

253.66 USDC • 1 total finding • Code4rena • deadrxsezzz

#33

medium

Calling `StandardFunding.screeningVote` function and `ExtraordinaryFunding.voteExtraordinary` function when `block.number` equals respective start block and when `block.number` is bigger than respective start block can result in different available votes

Footium

Footium

73.93 USDC • 3 total findings • Sherlock • deadrxsezzz

#26

medium

Use of unsafe `_mint` method

medium

USDT will get permanently stuck in `FootiumPrizeDistributor.sol` and `FootiumEscrow.sol`

medium

Usage of deprecated `transfer` method might lead to lose of funds

Apr '23

Blueberry Update

Blueberry Update

24.17 USDC • 2 total findings • Sherlock • deadrxsezzz

#14

medium

ChainlinkAdapterOracle's getPrice() doesn't check if Arbitrum L2 sequencer is down

medium

Possible stale values from Chainlink oracle

JOJO Exchange

JOJO Exchange

1,306.40 USDC • 1 total finding • Sherlock • deadrxsezzz

#13

medium

Uniswap getting the price from all available pools for certain token pair possesses a risk

Teller

Teller

19.13 USDC • 3 total findings • Sherlock • deadrxsezzz

#47

medium

Lender can steal all of liquidator's tokens

medium

Project breaks when a fee-on-transfer ERC20 is used as collateral

medium

Lenders can steal all of the borrowers tokens.

Frankencoin

Frankencoin

56.5 USDC • 2 total findings • Code4rena • deadrxsezzz

#54

medium

Challengers and bidders can collude together to restrict the minting of position owner

medium

function `restructureCapTable()` in Equity.sol not functioning as expected

Mar '23

Gitcoin

Gitcoin

165.25 USDC • Sherlock • deadrxsezzz

#24

Asymmetry contest

Asymmetry contest

13.13 USDC • Code4rena • deadrxsezzz

#110

Kairos Loan

Kairos Loan

519.56 USDC • 1 total finding • Sherlock • deadrxsezzz

#5

medium

If auction price goes to 0, NFT might become unclaimable/ stuck forever

Neo Tokyo contest

Neo Tokyo contest

29.67 USDC • Code4rena • deadrxsezzz

#21