Security Researcher
EVM Smart Contracts Security Researcher @code4rena/@CodeHawks/@sherlockdefi Contact me for an audit/security consulting
High
Total
Medium
Total
Total Earnings
#564 All Time
Payouts
3rd Places
Top 10
Top 25
All
Sherlock
Code4rena
CodeHawks
Feb '25
Jan '25
Aug '24
high
Malicious actors can manipulate the `cross_chain_callback` callback
high
In settlement.cairo::receive_cross_chain_msg - the payload_type can be passed by the user, confusing offchain systems
high
settlement.cairo doesn't process callback correctly leading to CrossChainMsgStatus marked as SUCCESS even if it failed on destination chain
high
In settlement.cairo::receive_cross_chain_msg - the message will always be marked with Status::SUCCESS
high
In Starknet already processed messages can be re-submitted and by anyone
high
handler's `receive_cross_chain_callback()` will always set the tx_status to `SETTLED` on source chain & burn the tokens (MintBurn Mode) even when the msg fails on destination
medium
A cross-chain message can be initiated with invalid parameters
medium
Does not check if to_chain and to_handler is whitelisted in cross_chain_erc20_settlement
Jul '24
high
`Tokens` Are Automatically Whitelisted Upon Creation And Binding Even When `_whiteListEnabled == false`
high
The Bridging Process will revert if the Collection is matched on the destination chain and not matched on the source chain
high
Infinite loop breaks whitelist removal funtionality on L2
medium
Starknet tokens deposited with use_withdraw_auto can never be withdrawn
medium
Reentrancy attack to make an NFT unbridgeable
high
Users can't vote because of a wrong check in BribeRewarder::_modify()
high
BribeRewarder.sol allows reward manipulation by malicious users
medium
Wrong check in _requireOnlyOperatorOrOwnerOf in MlumStaking.sol leading to anyone being able to add to someone else's position
medium
Voter.sol::onRegister()
Apr '24
Feb '24
high
A locked fighter can be transferred; leads to game server unable to commit transactions, and unstoppable fighters
high
Since you can reroll with a different fighterType than the NFT you own, you can reroll bypassing maxRerollsAllowed and reroll attributes based on a different fighterType
high
Players have complete freedom to customize the fighter NFT when calling `redeemMintPass` and can redeem fighters of types Dendroid and with rare attributes
high
Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`
Jan '24
high
User can evade `liquidation` by depositing the minimum of tokens and gain time to not be liquidated
medium
StakingRewards pools are not given their promised share of rewards due to incorrect calculation
medium
Adversary can prevent updating price feed addresses by creating poisonous proposals ending in `_confirm`
medium
Unwhitelisting does not clear _arbitrageProfits, so re-whitelisting may result in an unfair distribution of liquidity rewards.
Dec '23
high
Rewards can be drained because of lack of access control
high
Looping over unbounded `pendingStakes` array can lead to permanent DoS and frozen funds
medium
Missing deadline check allow pending transactions to be maliciously executed
medium
Fees are hardcoded to 3000 in ExactInputSingleParams
low
doesn't follow the EIP standard
Oct '23
Sep '23
Aug '23
Jul '23
high
Sandwich attack to steal all ERC-20 tokens in the Fees contract
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
Attacker can steal a loan's collateral and break the protocol
high
Hardcoded Router Address May Cause Token Lockup in Non-Standard Networks
high
Lender can Sandwich a borrower to seize his collateral
medium
The `borrow` and `refinance` functions can be front-run by the pool lender to set high interest rates
medium
No expiration deadline leads to losing a lot of funds
medium
Single-step process for critical ownership transfer is risky
medium
Fixed fee level is used when swap tokens on Uniswap
medium
Pragma non-specification can lead to non-functional / corrupted contract when deployed on Arbitrum
May '23
Mar '23
Feb '23