https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/d6f4e786-1a28-4ac1-99d4-2878e57f160a.jpg

minhtrng

Security Researcher

Security Researcher for EVM based blockchains. Also have expertise in developing and deploying dApps (both front end and contract side). DM for references

Contact Me

High

38

Total

Medium

45

Total

$82.03K

Total Earnings

#120 All Time

46x

Payouts

gold

1x

1st Places

silver

1x

2nd Places

bronze

1x

3rd Places

All

Sherlock

Code4rena

Nov '23

Panoptic

Panoptic

1,122.43 USDC • 1 total finding • Code4rena • minhtrng

#12

high

Partial transfers are still possible, leading to incorrect storage updates, and the calculated account premiums will be significantly different from what they should be

Oct '23

zkSync Era

zkSync Era

38,573.19 USDC • Code4rena • minhtrng

#4

Sep '23

Maia DAO - Ulysses

Maia DAO - Ulysses

310.95 USDC • 4 total findings • Code4rena • minhtrng

#24

high

All tokens can be stolen from `VirtualAccount` due to missing access modifier

medium

Incorrect source address decoding in RootBridgeAgent and BranchBridgeAgent's _requiresEndpoint breaks LayerZero communication

medium

Incorrect flag results to _hasFallbackToggled always set to false on createMultipleSettlement.

medium

If RootBridgeAgent.lzReceiveNonBlocking reverts internally, the native token sent by relayer to RootBridgeAgent is left in RootBridgeAgent

Aug '23

Dopex

Dopex

96.4 USDC • 2 total findings • Code4rena • minhtrng

#79

high

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

high

Incorrect precision assumed from RdpxPriceOracle creates multiple issues related to value inflation/deflation

Tangible Caviar

Tangible Caviar

361.05 USDC • Code4rena • minhtrng

#29

Jul '23

Perennial V2

Perennial V2

3,087.80 USDC • 2 total findings • Sherlock • minhtrng

#6

high

PythOracle pushes wrong timestamp when data is requested

high

Incorrect price calculation in PythOracle

Amphora Protocol

Amphora Protocol

12,017.95 USDC • 2 total findings • Code4rena • minhtrng

gold

high

crvRewardsContract `getReward` can be called directly, breaking vaults `claimRewards` functionallity

medium

Vault.claimRewards can break if Convex changes the operator

Tokemak

Tokemak

233.13 USDC • 1 total finding • Sherlock • minhtrng

#37

high

Calling BaseRewardPool directly causes rewards to be locked

PoolTogether

PoolTogether

1,809.54 USDC • 3 total findings • Code4rena • minhtrng

#12

high

Delegated amounts can be forcefully removed from anyone in the TwabController

high

`Vault.mintYieldFee` FUNCTION CAN BE CALLED BY ANYONE TO MINT `Vault Shares` TO ANY RECIPIENT ADDRESS

medium

Balance invariant between individual and total twabs can be broken

Tapioca DAO

Tapioca DAO

1,310.68 USDC • 6 total findings • Code4rena • minhtrng

#37

high

Collateral can be locked in BigBang contract when `debtStartPoint` is nonzero

high

Incorrect liquidation reward computation causes excess liquidator rewards to be given

medium

BigBang liquidation share is not distributed 100%

medium

Convex `BaseRewardPool` allows Claim on Behalf which causes delta to break - Loss of all Rewards

medium

ConvexTricryptoStrategy does not count CVX reward into compoundAmount and thus _currentBalance leading to an under-estimate of TVL

medium

`SGLBorrow::repay` and `BigBang::repay` uses `allowedBorrow` with the asset amount, whereas other functions use it with share of collateral

Jun '23

GLIF

GLIF

109.71 USDC • Sherlock • minhtrng

#12

Findings not publicly available for private contests.

Hubble Exchange

Hubble Exchange

110.26 USDC • 2 total findings • Sherlock • minhtrng

#27

medium

No staleness check for oracle price

medium

Stable prices pose risk in times of volatility

Apr '23

Caviar Private Pools

Caviar Private Pools

110.05 USDC • 3 total findings • Code4rena • minhtrng

#40

high

PrivatePool owner can steal all ERC20 and NFT from user via arbitrary execution

medium

Flash loan fee is incorrect in Private Pool contract

medium

EthRouter can't perform multiple changes

Rubicon v2

Rubicon v2

3.02 USDC • 1 total finding • Code4rena • minhtrng

#113

medium

Fee inclusivity calculations are inaccurate in RubiconMarket

Mar '23

Y2K

Y2K

705.71 USDC • 8 total findings • Sherlock • minhtrng

#22

high

Deposit fees can by bypassed

high

Delisting a processed rollover item causes skip of unprocessed one

high

Entitled shares not handled during rollover

high

Faulty index update of ownerToRollOverQueueIndex could break rollover

medium

Dead queue items not removed from rolloverQueue can disincentivize relayers

medium

Funds from premium vault can get stuck after sending to collateral vault

medium

Inconsistent use of epochBegin could lock user funds

medium

Outdated staleness check of price feed

Wenwin contest

Wenwin contest

619.34 USDC • 1 total finding • Code4rena • minhtrng

#11

high

`LotteryMath.calculateNewProfit` returns wrong profit when there is no jackpot winner

Feb '23

Hats

Hats

893.28 USDC • 2 total findings • Sherlock • minhtrng

#8

high

Safe can break if external module can add additional module

medium

Owners can be swapped even though they still wear their signer hats

OlympusDAO

OlympusDAO

631.52 USDC • 3 total findings • Sherlock • minhtrng

#13

high

CachedUserRewards and UserRewardsDebts not reset when exiting position

high

UserRewardDebts set to 0 before usage

medium

Rewards can accrue beyond the balance of the contract

Fair Funding by Alchemix & Unstoppable

Fair Funding by Alchemix & Unstoppable

107.05 USDC • 1 total finding • Sherlock • minhtrng

#7

medium

Migration can not perform any meaningful actions

Carapace

Carapace

484.96 USDC • 3 total findings • Sherlock • minhtrng

#17

high

Get protection while not paying fees by using many 0 deposits

high

Minimum protection duration for seconds is too short and can be abused

high

DOS of core features and permanent lock of funds

Blueberry

Blueberry

545.67 USDC • 3 total findings • Sherlock • minhtrng

#19

high

LP tokens might get left in the Spell contract and be taken by someone else

high

ICHI rewards not paid out when reopening a farm position

high

Excess funds when withdrawing from lending stuck permanently

Jan '23

Popcorn contest

Popcorn contest

345.36 USDC • 3 total findings • Code4rena • minhtrng

#45

high

Incorrect Reward Duration After Change in Reward Speed in MultiRewardStaking

medium

`MultiRewardStaking.changeRewardSpeed()` breaks the distribution

medium

`Vault::takeFees` can be front run to minimize `accruedPerformanceFee`

Ajna

Ajna

181.11 USDC • 1 total finding • Sherlock • minhtrng

#11

medium

Manipulation of target utilization via flash loans

UXD Protocol

UXD Protocol

201.11 USDC • 1 total finding • Sherlock • minhtrng

#21

high

No input validation for swap parameters

Dec '22

GoGoPool contest

GoGoPool contest

68.09 USDC • 1 total finding • Code4rena • minhtrng

#64

medium

MinipoolManager: recordStakingError function does not decrease minipoolCount leading to too high GGP rewards for staker

Caviar contest

Caviar contest

86.2 USDC • 2 total findings • Code4rena • minhtrng

#35

high

Liquidity providers may lose funds when adding liquidity

medium

Rounding error in buyQuote might result in free tokens

Tigris Trade contest

Tigris Trade contest

261.6 USDC • 1 total finding • Code4rena • minhtrng

#37

high

Not enough margin pulled or burned from user when adding to a position

Escher contest

Escher contest

2.18 USDC • 2 total findings • Code4rena • minhtrng

#65

high

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

medium

ETH will get stuck if all NFTs do not get sold.

Nov '22

Opyn Crab Netting

Opyn Crab Netting

45.82 USDC • 1 total finding • Sherlock • minhtrng

#20

high

Orders can be marked as used by anyone

Buffer Finance

Buffer Finance

6.52 USDC • 1 total finding • Sherlock • minhtrng

#12

medium

Return value of transfers not checked consistently

LSD Network - Stakehouse contest

LSD Network - Stakehouse contest

50.87 USDC • 2 total findings • Code4rena • minhtrng

#53

medium

Incorrect implementation of the ETHPoolLPFactory.sol#rotateLPTokens let user stakes ETH more than maxStakingAmountPerValidator in StakingFundsVault, and DOS the stake function in LiquidStakingManager

medium

Freezing of funds - Hacker can prevent users withdraws in giant pools

SIZE contest

SIZE contest

14.14 USDC • 2 total findings • Code4rena • minhtrng

#40

medium

Attacker may DOS auctions using invalid bid parameters

medium

Incompatibility with fee-on-transfer/inflationary/deflationary/rebasing tokens, on both base tokens and quote tokens, with varying impacts

Oct '22

Paladin - Warden Pledges contest

Paladin - Warden Pledges contest

29.55 USDC • 1 total finding • Code4rena • minhtrng

#31

medium

Owner can transfer all ERC20 reward token out using function recoverERC20

Inverse Finance contest

Inverse Finance contest

343.35 USDC • 2 total findings • Code4rena • minhtrng

#27

medium

Avoidable misconfiguration could lead to INVEscrow contract not minting xINV tokens

medium

Chainlink oracle data feed is not sufficiently validated and can return stale `price`

Illuminate

Illuminate

949.77 USDC • 4 total findings • Sherlock • minhtrng

#12

high

Cant withdraw pre-maturity

high

Reentrancy in lending allows overminting of iPT

high

Sense redeem is vulnerable to reentrancy

medium

Cant set principal for Notional

Holograph contest

Holograph contest

11.44 USDC • 2 total findings • Code4rena • minhtrng

#40

medium

Bond tokens (HLG) can get permanently stuck in operator

medium

Bad source of randomness

3xcalibur contest

3xcalibur contest

2,263.5 USDC • Code4rena • minhtrng

bronze
Juicebox contest

Juicebox contest

37.88 USDC • Code4rena • minhtrng

#18

Blur Exchange contest

Blur Exchange contest

2,552.63 USDC • 2 total findings • Code4rena • minhtrng

#8

high

StandardPolicyERC1155.sol returns amount == 1 instead of amount == order.amount

medium

Protocol can be easily rug-pulled by the owner

Sep '22

QuickSwap and StellaSwap contest

QuickSwap and StellaSwap contest

35.48 USDC • 1 total finding • Code4rena • minhtrng

#53

medium

A "FrontRunning attack" can be made to the `initialize` function

Art Gobblers contest

Art Gobblers contest

8,715.28 USDC • 1 total finding • Code4rena • minhtrng

silver

medium

Possible centralization issue around RandProvider

Nouns Builder contest

Nouns Builder contest

66.38 USDC • 1 total finding • Code4rena • minhtrng

#93

medium

Founders can receive less tokens that expected

Aug '22

Olympus DAO contest

Olympus DAO contest

1,905.41 USDC • 1 total finding • Code4rena • minhtrng

#14

medium

Griefing/DOS of withdrawals by EOAs from treasury (TRSRY) possible

Fraxlend (Frax Finance) contest

Fraxlend (Frax Finance) contest

192.51 USDC • 1 total finding • Code4rena • minhtrng

#23

medium

Wrong percent for `FraxlendPairCore.dirtyLiquidationFee`.

Jul '22

ENS contest

ENS contest

78.87 USDC • Code4rena • minhtrng

#65

Fractional v2 contest

Fractional v2 contest

344.91 USDC • 2 total findings • Code4rena • minhtrng

#34

high

Migration: no check that user-supplied `proposalId` and `vault` match

medium

Delegate call in `Vault#_execute` can alter Vault's ownership