Security Researcher
Web3 Security Researcher | DM for Security Review | https://t.co/HqhxHeiiyE
High
Total
Medium
Total
Total Earnings
#96 All Time
Payouts
1st Places
2nd Places
Top 10
All
Sherlock
Code4rena
Cantina
Oct '24
high
high
high
high
high
high
medium
medium
medium
medium
medium
medium
medium
medium
medium
Aug '24
high
There is no refund mechanism in `ChakraSettlement.processCrossChainCallback` or `ChakraSettlementHandler.receive_cross_chain_callback` function
high
`ChakraSettlement.receive_cross_chain_msg` and `ChakraSettlement.receive_cross_chain_callback` functions do not ensure that receiving `ChakraSettlement` contract's `contract_chain_name` must match `to_chain` corresponding to respective `txid` input though
high
Inconsistent Handler Validation Behavior in Cairo ERC20Handler's Cross-Chain Callback
high
SettlementSignatureVerifier is missing check for duplicate validator signatures
high
In Starknet already processed messages can be re-submitted and by anyone
high
Invalid token address used in `ChakraSettlementHandler::cross_chain_erc20_settlement(...)` leading to invalid transaction creation and event emission
medium
Settlement contract is mistakenly used for the handler contract when assigning ReceivedCrossChainTx struct
medium
inconsistency in sender address when creating cross chain messages on Starknet can lead to loss of funds
medium
Does not check if to_chain and to_handler is whitelisted in cross_chain_erc20_settlement
medium
Missing `ERC20Method` validation at destination allows non-transfer tx to be handled as transfers.
medium
Excessive Authority Granted to Managers in the `ckr_btc.cairo` Contract Presents Significant Management Risks
medium
medium
medium
Jul '24
Jun '24
high
Users won't liquidate positions because the logic used to calculate the liquidator's profit is incorrect
medium
Fragmentation fee is not taken if user compensates with newly created position
medium
`executeBuyCreditMarket` returns the wrong amount of cash and overestimates the amount that needs to be checked in the variable pool
medium
Users can not to buy/sell minimum credit allowed due to exactAmountIn condition
medium
Multicall does not work as intended
Apr '24
high
Incomplete TVL Calculation in `AerodromeConnector::_getPositionTVL` Function.
high
`executeWithdraw` may be blocked if any of the users are blacklisted from the `baseToken`
high
`_getPositionTVL` of `UNIv3Connector` wrongly assumes ownership of all liquidity of the provided ticks inside `positionManager`.
high
Numerous errors when calculating the TVL for the MorphoBlue connector
medium
`veMav` token in `MaverickConnector` does NOT have an existing oracle, so staking Mav would always lead to DoS for TVL calculation
medium
`AccountingManager#totalWithdrawnAmount` should reflect tokens actually transferred to users, instead of expected transfers
medium
The `TVLHelper.sol#getTVL` function is DOSed by the `under collateralized connector`, and as a result, many parts of the protocol may be DOS.
medium
The total deposit amount limit in `AccountingManager.sol` can be bypassed
medium
Lack of function to claim reward in `AaveConnector`
medium
Balancer flashloan contract can be DOSed completely by sending 1 wei to it
medium
Due to missing health factor and hardcoded balance checks on Dolomite, a borrow position can be opened by withdrawing more than the supplied balance leading to possible unwanted liquidations
medium
Lack of functionality for `claimFees` calls to the Aerodrome Pool causes the connector to lose its deserved fees
medium
Camelot and Aerodrome Connector TVL susceptible to manipulation attack
high
`revokeVestingSchedule` incorrectly update total supply and checkpoints
high
`revokeVestingSchedule` will not completely remove users voting power
high
`ZivoeITO`'s `claimAirdrop` will be impacted by the new `zSTT` and `zJTT` minting. Users will receive less rewards than they should.
medium
Borrowers could skip at least one period of interest payment when paying off the loan in full and end up paying less interest
medium
Push tokens to `OCL_ZVE` could revert most of the time due to allowance check
medium
`forwardYield` of `OCL_ZVE` can be denied and skipped for another 30 days
medium
`OCY_Convex_A` and `OCY_Convex_C` `claimRewards` can be bricked by poison reward token
Mar '24
high
medium
medium
medium
Feb '24
Jan '24
Nov '23
high
medium
medium
medium
Oct '23
Sep '23
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
high
Prime.sol - User can claim Prime token without having any staked XVS, because his `stakedAt` isn't reset whenever he is issued an irrevocable token.
medium
DoS and gas griefing of calls to Prime.updateScores()
Aug '23
high
The settle feature will be broken if attacker arbitrarily transfer collateral tokens to the PerpetualAtlanticVaultLP
high
`ReLPContract` wrongfully assumes protocol owns all of the liquidity in the UniswapV2 pool
high
The peg stability module can be compromised by forcing lowerDepeg to revert.
high
Bond operations will always revert at certain time when `putOptionsRequired` is true
high
Users can get immediate profit when deposit and redeem in `PerpetualAtlanticVaultLP`
medium
_curveSwap: getDpxEthPrice and getEthPrice is in wrong order
medium
reLP() mintokenAAmount the calculations are wrong.
medium
`sync` function in `RdpxV2Core.sol` should be called in multiple scenarios to account for the balance changes that occurs
medium
User can avoid paying high premium price by correctly timing his bond call
medium
User that delegate eth to `RdpxV2Core` will incur loss if his delegated eth fulfilled by decaying bonds
Jul '23
high
ether that deposited trough `_processEthIn` is not considered inside router's `mint` and `deposit` operations
high
Destination's vault rewards potentially not accounted when `withdraw` or `redeem` is called
high
Attacker can steal LMPVault's reward by keep transferring LMPVault's share to attacker's another accounts
high
Users can construct redeem operations to extract more value inside LMPVault that have destination vault with rewards
high
`liquidateVaultsForToken` is broken due to mistake when performing swap
high
When `queueNewRewards` is called, caller could transfer tokens more than it should be
high
`MavEthOracle` price susceptible to reserves manipulation attack
high
Wrong decimals used when calculating `averagePrice` inside `IncentivePricingStats.updatePricingInfo`
high
Convex and Aura `getReward` can be called directly, breaking liquidation rows functionality and automation
medium
Calculator's APR can continuously reporting wrong value if first APR result is 0
May '23
high
Malicious user can front-run Gauges's `addBribeFlywheel` to steal bribe rewards
high
TalosBaseStrategy#init() lacks slippage protection
high
Rerange/rebalance should not use protocolFee as asset for adding liquidity
medium
`unstakeAndWithdraw` inside `BoostAggregator` could lose pendingRewards in certain case
medium
[M-01] Some functions in Talos contracts does not allow user to supply slippage and deadline, which may cause swap revert
medium
RestakeToken function is not permissionless
high
incorrect calculation of `amountToSellUnits` inside `BuyUSSDSellCollateral()` function
high
rebalance process incase of buying the collateral, could revert caused by incorrect condition check
high
`StableOracleWBTC` use wrong chainlink price feed contract address
high
Incorrect decimals assumption used inside `StableOracleDAI` when dealing with `priceFeedDAIETH` returned price value
high
Missing `onlyBalancer` modifier for `mintRebalancer()` and `burnRebalancer()` function
high
`USSD`'s `UniV3SwapInput()` executes swaps without slippage and deadline protection
medium
rebalance process incase of selling the collateral, could revert because of underflow calculation
medium
rebalance process incase of selling the collateral, could revert cause not checking `pathsell.length`
medium
Chainlink oracle data is not validated, could return unwanted `price` value.
Apr '23
high
Some offers can't be cancelled
medium
Missing a check for minimum sell amount at make function
medium
BathBuddy contract should implement methods to pause and unpause contract
medium
Fee inclusivity calculations are inaccurate in RubiconMarket
medium
Incorrect calculations can occur when calling `Position._marketBuy` and `Position._marketSell` functions that do not include maker fee in `_fee`
medium
Calling `Position._marketBuy` and `Position._marketSell` functions that calculate `_fee` by dividing by `10000` can cause incorrect calculations
medium
Calling `ExpiringMarket.stop` and `ExpiringMarket.isClosed` functions cannot pause any functionlities of the market
Mar '23
Feb '23
medium
In initial protocol state, user can keep calling `withdrawalRequest()`, but resulting in incorrect `user.withdrawalAllowance`.
medium
Vault can be denied from receiving Funds while rebalancing, also leaving the vault to stuck in `State.WaitingForFunds`.
medium
Calls to inactive vault's `pushTotalUnderlyingToController()` cause rebalance process to stuck
medium
Make withdrawal request before vault become inactive could hold user funds
medium
Adding blacklist protocol could break vault rebalance process