Security Researcher
Ex Senior Blockchain Engineer @ Limechain and Hedera Hashgraph. Full Time Web3 Security Researcher since Sep 2024
High
Total
Medium
Solo
Total
Total Earnings
#371 All Time
Payouts
2nd Places
3rd Places
Top 10
All
Sherlock
Code4rena
Cantina
Jan '25
high
high
high
high
medium
Dec '24
high
Protocol fees won't be charged in some cases where dCDS user has opted-in for liquidation
high
Liquidation amounts are not correctly deducted from the totalCDS value available, when doing a dCDS withdraw
high
LiquidationType2 does not mark the deposit as liquidated, which enables borrower to withdraw it after liquidation
high
renewOptions deadline if-check is invalid and will never revert
high
withdrawing a deposit does not check if optionFees have expired
high
After closing synthetix position we don't update global data for liquidations
high
Sending excess msg.value to user which is being liquidated instead to the msg.sender/admin can lead to DoS
high
We are wrongly double-calculating the omni-chain cumulativeValue
high
For CDS withdraw the passed signature nonce is not verified, so anyone could use an outdated excessProfitCumulativeValue signature from admin2.
high
Attacker can use redeemUSDT to steal all funds from treasury, as we can specify the usda and usdt prices
high
Abond token transferFrom has a flaw which leads to an unwanted state
high
omniChainData will always be inacurate due to cross-chain message collisions
high
Cross-contract Reentrancy between Borrowing and CDS contracts will leave the omnichain in wrong state
high
usdaGainedFromLiquidation is not updated during liquidation, which leads to discrepancies when redeeming
medium
Protocol fees from gains cannot be withdrawn from treasury
medium
Synthetix is not deployed on Mode L2
medium
No slippage protection when exchanging with synthethix
medium
No way to retrieve sUSD margin and PNL profits from closed synthetix perpetual position
medium
Setting wrong fill price for synthetix position when doing a liquidation type 2
medium
We cannot make weth deposit before getting it from the treasury
medium
Excess msg.value sent for OFT transfer will be stuck in the contract.
medium
Withdrawing ionic during liquidation has a flaw
medium
Calculating margin with ETH price instead of sETH price will lead to DoS of liquidation type 2
medium
Lock-in period option for dCDS users is not enforced when trying to withdraw.
medium
The volatility field for borrowing can be any arbitrary value and could be used to reduce option fees
medium
Cross-chain wrsETH amount is wrapped before the treasury have received it, which could revert the whole transaction
medium
dCDS depositors won't be able to withdraw their funds, if a lot of liquidations ocured since their deposit
Nov '24
Oct '24
Sep '24
high
Relist deposits fees to Uniswap pool for liquidation listings, which leads to accounting problems, stolen funds and inflation, as liquidation listings don't pay fees.
high
Locker is not setting checkpoints when minting/burning new supply of CT tokens, which can lead to loss of interest rate.
high
Malicious user can drain the Flayer pool, because reserve() does not delete old listing.
medium
Fee exemption logic in UniswapImplementation will never work due to wrong bit-packing.
medium
Lockbox listings can be self-liquidated for Free, allowing all floor deposits to be placed into Liquidation Dutch Listings.
Aug '24
high
`shareBalance` bloating eventually blocks curator rewards distribution
high
Signature replay in `createArt` allows to impersonate artist and steal royalties
medium
Lack of data validation when users are claiming their art allows malicious user to bypass signature/merkle hash to provide unapproved `ref_`, `artId_` and `imageURI`
Jul '24
high
`mintToken()`, `mintWithBudget()`, and `forge()` in the `TraitForgeNft` Contract Will Fail Due to a Wrong Modifier Used in `EntropyGenerator.initializeAlphaIndices()`
high
The maximum number of generations is infinite
high
Wrong minting logic based on total token count across generations
medium
Forger Entities can forge more times than intended
medium
NFTs mature too slowly under default settings.
medium
`Golden God` Tokens can be minted twice per generation
medium
Discrepancy between nfts minted, price of nft when a generation changes & position of `_incrementGeneration()` inside `_mintInternal()` & `_mintNewEntity()`