Other protocol vulnerabilities in disclosed bug bounty reports
Staking, derivatives, insurance, identity, gaming and infrastructure findings that do not fit the primary protocol categories.
- Reports indexed
- 211
- Total paid
- $352k
- Critical
- 0
- Largest payout
- $350k
This group holds everything with a distinct economic design that the main categories do not cover: liquid staking and validator accounting, perpetuals and options with their own margin engines, insurance and coverage pools, identity and attestation systems, and on-chain games.
The findings are heterogeneous but the review discipline is the same — reconstruct the invariant, then find the input that breaks it — and several of the most instructive write-ups on the platform sit in this bucket precisely because the designs are unusual.
Filtering by vulnerability category is generally the better lens here than protocol type.
What reviewers look for
- Custom margin or collateral engines with untested boundary behaviour
- Staking and reward accounting under partial withdrawal or slashing
- Coverage and claims logic reachable outside the intended lifecycle
- Cross-protocol integrations trusting an external accounting value
- Novel mechanisms without an established review checklist
Curated highlights
The largest disclosed payouts in this group, with our own summary of each. Every report links back to the original disclosure.
Governance proposal executes arbitrary call via delegatecall module
A severe vulnerability in the governance timelock contract enabled proposal execution using DELEGATECALL without restricting the target address to a verified allowlist. Because the delegatecall target contract operated within the context of the timelock's storage without layout restrictions, a malicious proposal could overwrite key storage slots. An attacker leveraging flash loans or governance weight could pass a proposal that delegated to a custom contract, overwriting the timelock admin address in slot 0 to hijack governance authority and drain treasury funds.
Docker Secret Disclosure via GitHub Actions Cache Poisoning
A GitHub Actions cache poisoning vulnerability was identified in the Hyperledger repository infrastructure. The flaw allowed unauthorized actors to modify shared build cache keys and execute arbitrary code within CI/CD pipeline steps. When downstream workflows restored the manipulated cache, sensitive Docker credentials stored in environment variables were exposed. This allowed attackers to extract critical pipeline secrets without requiring write permissions to the underlying repository.
Window.opener bug at www.coinbase.com
A web application link on www.coinbase.com opened external URLs using target="_blank" without setting the rel="noopener" or rel="noreferrer" security attributes. This allowed the newly opened destination window to access and manipulate the parent tab through the JavaScript window.opener reference. An attacker controlling the external target site could leverage this access to redirect the user's active Coinbase tab to a malicious external URL or phishing page. Coinbase rewarded the finding with a $100 bounty.
Putty: Put option sellers can prevent exercise by specifying zero amounts, or non-existant tokens
The Putty protocol contained a logic vulnerability where option sellers could create orders that were impossible to exercise, effectively stealing the buyer's premium. By specifying either a zero-amount asset or a non-existent token address, a seller could force the contract to revert whenever a buyer attempted to exercise their option. This resulted in a denial-of-service (DoS) condition that rendered the buyer's position worthless. The issue was fixed by updating the asset transfer logic to skip zero-amount transfers instead of reverting.
Putty: Fee is being deducted when Put is expired and not when it is exercised.
The Putty V2 contract contained a logic error in its fee application mechanism for put options, causing fees to be charged incorrectly upon expiration rather than exercise. This flaw led to an unintended loss of assets for users holding expired put options while simultaneously failing to collect fees on legitimately exercised options. The protocol was vulnerable because the withdrawal function erroneously prioritized charging fees based on expired status rather than exercise status, negatively impacting both user capital and protocol revenue.
Putty: Order cancellation is prone to frontrunning and is dependent on a centralized database
Putty's order cancellation mechanism suffered from critical dependencies on centralized infrastructure and exposure to frontrunning. Because cancellations required on-chain transactions with specific order data, users could not cancel without either interacting with a centralized database or risking MEV-based frontrunning. This design created a significant risk where a centralized server outage could prevent users from invalidating orders, leaving their funds vulnerable to exploitation by parties holding mirrored order data.
All reports in this group
- PoolTogether: A malicious user can steal other user's deposits from Vault.solFlash loan attack$0
- Putty: `fillOrder()` and `exercise()` may lock Ether sent to the contract, foreverLogic error$0
- PoolTogether: The threshold check for adding of new tiers is skipped when `_nextNumberOfTiers` is at the maximum amountLogic error$0
- Putty: `fee` can change without the consent of usersLogic error$0
- PoolTogether: `Claimer.claimPrizes` can be front-runned in order to make losses for the claim botFront-running / MEV$0
- PoolTogether: Silent overflow could alter computation when calculating the `vaultPortion` in the `PrizePool` contractInteger overflow/underflow$0
- Putty: Put options are free of any feesInteger overflow/underflow$0
- PoolTogether: `VaultFactory` allows deployment of vaults with non-authentic `TwabController` and `PrizePool`Logic error$0
- PoolTogether: Vault contribution calculations wrongly include the current round when claiming prizesLogic error$0
- PoolTogether: Balance invariant between the individual and total `twabs` can be brokenLogic error$0
- Putty: `acceptCounterOffer()` May Result In Both Orders Being FilledFront-running / MEV$0
- PoolTogether: `TwabLib::getTwabBetween` can return inaccurate balances if `_startTime` and `_endTime` aren't safely boundLogic error$0
- PoolTogether: Number of prize tiers always increases if just 1 canary prize is claimedLogic error$0
- PoolTogether: `depositWithPermit` and `mintWithPermit` are allowed to be called by the permit creator onlyLogic error$0
- PoolTogether: Tiers can be maintained active to give unfair advantage to user through DoSLogic error$0
- PoolTogether: `Vault.mintWithPermit()` can be DoS'dFront-running / MEV$0
- PoolTogether: `drawManager` can be set to a malicious addressAccess control$0
- PoolTogether: The tier odds in `TieredLiquidityDistributor` are incorrectLogic error$0
- PoolTogether: Resetting delegation will result in user funds being lost foreverLogic error$0
- PoolTogether: Increasing reserves breaks PrizePool accountingFront-running / MEV$0
- PoolTogether: Delegated amounts can be forcefully removed from anyone in the `TwabController`Logic error$0
- PoolTogether: If the underlying asset is a fee on transfer token, it could break the internal accounting of the vaultLogic error$0
- Putty: Options with a small strike price will round down to 0 and can prevent assets to be withdrawnInteger overflow/underflow$0
- The Wildcat Protocol: Users are incentivized to not withdraw immediately after the market is closedLogic error$0
- The Wildcat Protocol: `AccessControlHooks` `onQueueWithdrawal()` does not check if market is hooked which could lead to unexpected errors such as temporary DoSFront-running / MEV$0
- The Wildcat Protocol: Role providers can bypass intended restrictions and lower expiry set by other providersAccess control$0
- Superposition: Users can't remove liquidity while a pool is disabledAccess control$0
- Superposition: No related function to set `fee_protocol`Logic error$0
- Superposition: `decrPosition09293696` will not work due to incorrect function signatureLogic error$0
- Phi: Refunds sent to incorrect addresses in certain casesLogic error$0
- Phi: Exposed `_removeCredIdPerAddress` & `_addCredIdPerAddress` allows anyone to cause issues to current holders as well as upcoming onesLogic error$0
- Phi: PhiNFT1155 contracts continue sending fees/royalties to old protocol destination addressAccess control$0
- Phi: `PhiFactory:claim` potentially causing loss of funds if `mintFee` changed beforehandLogic error$0
- Reserve: Broken assumptions can lead to the inability to seize RSRFront-running / MEV$0
- Reserve: The default Governor Anastasius is unable to call `resetStakes`Governance attack$0
- Reserve: Users can dodge losses due to StRSR era changes with instant operationsFront-running / MEV$0
- Reserve: The time available for a canceled withdrawal should not impact future unstaking processesLogic error$0
- Basin: `WellUpgradeable` can be upgraded by anyoneAccess control$0
- BendDAO: Fee-on-Transfer tokens cause problems in multiple placesLogic error$0
- Munchables: Users can farm on zero-tax land if the landlord locked tokens before the LandManager deploymentLogic error$0
- Munchables: Failure to update dirty flag in `transferToUnoccupiedPlot` prevents reward accumulation on valid plotLogic error$0
- Optimism: Multiplication overflow leading to memory corruption and incorrect register write-backInteger overflow/underflow$0
- Optimism: `MIPS` - Incorrect implementation of SRAV instructionLogic error$0
- Optimism: Unvalidated memory access in `readMem` and `writeMem` functionsAccess control$0
- Munchables: Single plot can be occupied by multiple rentersLogic error$0
- Olas: `checkpoint` function is not called before staking which can cause loss of rewards for already staked servicesAccess control$0
- Olas: Unauthorized claiming of staking incentives for retainerAccess control$0
- Olas: StakingToken.sol doesn't properly handle FOT, rebasing tokens or those with variable which will lead to accounting issues downstreamLogic error$0
- Olas: Adding staking instance as nominee before it is createdGovernance attack$0
- Olas: Unstake function reverts because of use of outdated/stale `serviceIds` arrayReentrancy$0
- Olas: Incorrect handling of last nominee removal in `removeNominee` functionInteger overflow/underflow$0
- Thorchain: A malicious user can steal money out of the vault and other usersFront-running / MEV$0
- Thorchain: ThorChain will be informed wrongly about the unsuccessful ETH transfers due to the incorrect events emissionsReentrancy$0
- Predy: `updateIRMParams` does not call `applyInterestForToken` before updating `irmParams` which leads to incorrect calculation of interest rate for subsequent trades.Logic error$0
- Panoptic: Incorrect validation during checking liquidity spreadLogic error$0
- DYAD: Attacker can frontrun user's withdrawals to make them revert without costsFlash loan attack$0
- Arbitrum Foundation: `BOLDUpgradeAction.sol` will fail to upgrade contracts due to error in the `perform` functionLogic error$0
- Arbitrum Foundation: Adversary can make honest parties unable to retrieve their assertion stakes if the required amount is decreasedLogic error$0
- Arbitrum Foundation: Edge from dishonest challenge edge tree can inherit timer from honest tree allowing confirmation of incorrect assertionFront-running / MEV$0
- Renzo: ETH withdrawals from EigenLayer always fail due to `OperatorDelegator`'s nonReentrant `receive()`Reentrancy$0
- Renzo: Withdrawals can be locked forever if recipient is a contractLogic error$0
- AI Arena: Burner role cannot be revokedLogic error$0
- AI Arena: DoS in `MergingPool::claimRewards` function and potential DoS in `RankedBattle::claimNRN` function if called after a significant amount of rounds passedLogic error$0
- AI Arena: Minter / Staker / Spender roles can never be revokedLogic error$0
- AI Arena: Erroneous probability calculation in physical attributes can lead to significant issuesLogic error$0
- AI Arena: Malicious user can stake an amount which causes zero curStakeAtRisk on a loss but equal rewardPoints to a fair user on a winLogic error$0
- AI Arena: Almost all rarity rank combinations cannot be, and are not uniformly, generatedLogic error$0
- Abracadabra Money: Miscalculation in addLiquidity of Router results in unauthorized spending of tokensAccess control$0
- Abracadabra Money: Staking contract is not able to support native USDB/WETHLogic error$0
- Abracadabra Money: Permanent loss of yield for stakers in reward pools due to precision loss.Integer overflow/underflow$0
- Abracadabra Money: `LockingMultiRewards` contract on Blast does not configure gas yield nor token yield mode.Access control$0
- Abracadabra Money: Tokens yeild can not be set to claimable.Logic error$0
- Abracadabra Money: User can grief bootstrap process by sending the cap amount of unlocked tokens to it.Access control$0
- Taiko: There is no slippage check for the eth deposits processing in the `LibDepositing.processDeposits`Logic error$0
- Taiko: Taiko L1 - Proposer can maliciously cause loss of funds by forcing someone else to pay prover's feeGovernance attack$0
- Taiko: Proposers would choose to avoid higher tier by exploiting non-randomness of parameter used in getMinTier()Logic error$0
- Taiko: Incorrect __Essential_init() function is used in TaikoToken making snapshooter devoid of calling snapshot()Logic error$0
- Taiko: First block proposer check in the `LibProposing._isProposerPermitted` function is errorneousAccess control$0
- Taiko: Taiko SGX Attestation - Improper validation in certchain decodingLogic error$0
- Taiko: Users will never be able to withdraw their claimed airdrop fully in ERC20Airdrop2.sol contractLogic error$0
- Taiko: Validity and contests bond ca be incorrectly burned for the correct and ultimately verified transitionLogic error$0
- Taiko: The top tier prover can not re-proveGovernance attack$0
- Ondo Finance: Inadequate handling of `BUIDL` redemption limit in `OUSG` instant managerLogic error$0
- Ondo Finance: The `BURNER` cannot burn tokens from accounts not KYC verified due to the check in `_beforeTokenTransfer`.Logic error$0
- Ondo Finance: Integration issue in `ousgInstantManager` with `BUIDL` if `minUSTokens` is set by blackrockLogic error$0
- Ondo Finance: Users can lose access to funds due to minimum withdrawal limitsLogic error$0
- Amphora Protocol: `Vault.claimRewards` can break if Convex changes the operatorLogic error$0
- Amphora Protocol: Reentrancy issue with the `withdraw` method of USDC. All tokens could be drained.Reentrancy$0
- Amphora Protocol: Reorg attack on user's Vault deployment and deposit may lead to theft of fundsFront-running / MEV$0
- Amphora Protocol: Rounding error in `WUSDA` can result in loss of user funds, especially when manipulated by an attackerFlash loan attack$0
- Salty.IO: Creation of token whitelisting proposals can be DOS'dReentrancy$0
- Salty.IO: First depositor can break staking-rewards accountingLogic error$0
- Salty.IO: No proposal time limit traps sponsors of unpopular proposalsReentrancy$0
- Salty.IO: StakingRewards pools are not given their promised share of rewards due to incorrect calculationGovernance attack$0
- Salty.IO: Ballots not yet past their deadline are incorrectly looped too by tokenWhitelistingBallotWithTheMostVotes()Governance attack$0
- Salty.IO: changeWallets() can be confirmed immediately after proposalWallets() by manipulating activeTimelock beforehandGovernance attack$0
- Salty.IO: Some rewards from POL will not be send to team wallet nor burnedGovernance attack$0
- Salty.IO: Impossible to change managed wallets with `proposeWallets` after first rejectionGovernance attack$0
- Salty.IO: Persistent Contract Call revert prevents finalizing a ballotGovernance attack$0
- Salty.IO: Development Team might receive less SALT because there is no access control on `VestingWallet#release()`Access control$0
- Salty.IO: The user who withdraws liquidity from a particular pool is able to claim more rewards than they should by carefully selecting a `decreaseShareAmount` value such that the `virtualRewardsToRemove` is rounded down to zeroInteger overflow/underflow$0
- Salty.IO: Caller of Upkeep may skip step 11 to save gasGovernance attack$0
- Spectra: PrincipalToken is not ERC-5095 compliantLogic error$0
- PoolTogether: The winner can steal claimer fees, and force him to pay for the gasReentrancy$0
- PoolTogether: `maxDeposit()` uses `yieldVault.maxDeposit()` but `_depositAndMint()` uses `yieldVault.mint()`Integer overflow/underflow$0
- PoolTogether: Permit doesn't work with DAILogic error$0
- zkSync: Governance logic may enter a deadlockAccess control$0
- Ethereum Credit Guild: Anyone can prolong the time for the rewards to get distributedGovernance attack$0
- Ethereum Credit Guild: Users staking via the `SurplusGuildMinter` can be immediately slashed when staking into a gauge that had previously incurred a lossLogic error$0
- Ethereum Credit Guild: The `userGaugeProfitIndex` is not set correctly, allowing an attacker to receive rewards without waitingGovernance attack$0
- Ethereum Credit Guild: Inability to withdraw funds for certain users due to `whenNotPaused` modifier in `RateLimitedMinter`Logic error$0
- Ethereum Credit Guild: Anyone can steal all distributed rewardsFront-running / MEV$0
- Paladin: Changes of `questRewardsPerPeriod` didn't reflected on LootCreator's `totalQuestPeriodRewards`Reentrancy$0
- Collective: `ERC20TokenEmitter::buyToken` function mints more tokens to users than it should doReentrancy$0
- Collective: ERC20TokenEmitter will not work after a certain period of timeInteger overflow/underflow$0
- Collective: `encodedData` argument of `hashStruct` is not calculated perfectly for EIP712 singed messages in `CultureIndex.sol`Signature replay$0
- Collective: Incorrect amounts of ETH are transferred to the DAO treasury in `ERC20TokenEmitter::buyToken()`, causing a value leak in every transactionReentrancy$0
- Collective: Once EntropyRateBps is set too high, can lead to denial-of-service (DoS) due to an invalid ETH amountLogic error$0
- Collective: Since buyToken function has no slippage checking, users can get less tokens than expected when they buy tokens directlyFront-running / MEV$0
- Olas: CM can `delegatecall` to any address and bypass all restrictionsAccess control$0
- Olas: Wrong invocation of Whirpools's updateFeesAndRewards will cause it to always revertLogic error$0
- Olas: Griefing attack on `liquidity_lockbox` withdrawals due to lack of minimum depositLogic error$0
- Olas: Withdrawals can be frozen by creating null depositsInteger overflow/underflow$0
- INIT Capital: Malicious user can steal native tokens of MoneyMarketHook callerReentrancy$0
- PartyDAO: Some arbitrary proposal calls will fail because `executeProposal()` in `ProposalExecutionEngine` is not payableGovernance attack$0
- PartyDAO: `ETHCrowdfundBase.sol#_processContribution` - Possible DoS on finalization of crowdfund under certain conditionsReentrancy$0
- PartyDAO: `ETHCrowdfundBase.sol#processContribution` - Impossible to finalize crowdfund because of `minContribution` checkGovernance attack$0
- NextGen: Multiple mints can brick any form of `salesOption` 3 mintingsInteger overflow/underflow$0
- NextGen: Unchecked return value of low-level `call()/delegatecall()`Logic error$0
- NextGen: User funds sent in excess are not refundedLogic error$0
- NextGen: Permanent DoS due to non-shrinking array usage in an unbounded loopLogic error$0
- NextGen: `getPrice` `salesOption` 2 can round down to the lower barrier, skipping the last time periodInteger overflow/underflow$0
- NextGen: `MinterContract::payArtist` can result in double the intended payoutLogic error$0
- NextGen: Artist signatures can be forged to impersonate the artist behind a collectionAccess control$0
- Open Dollar: Missing debt check lets users start a debt auction of non-existent debtLogic error$0
- Open Dollar: Approved address can approve other addresses for an owner's safeLogic error$0
- Open Dollar: SafeHandler contract doesn't have any method to call to `ODSafeManager.allowHandler()`, lead to DOS in some functionLogic error$0
- Open Dollar: Incorrect calculations for Surplus Auction creation cause massive surplus imbalancesInteger overflow/underflow$0
- Open Dollar: Due to extremely short `votingDelay` and `votingPeriod`, governance is practically impossibleGovernance attack$0
- Wildcat Protocol: Return values of `transfer()`/`transferFrom()` not checked and unsafe usageLogic error$0
- Maia DAO: The governance will fail to add an ecosystem token if someone creates a hToken that uses that ecosystem tokenGovernance attack$0
- Tapioca DAO: twTAP.claimAndSendRewards() will claim the wrong amount for each reward token due to the use of wrong indexGovernance attack$0
- Tapioca DAO: Attacker can specify any `receiver` in `USD0.flashLoan()` to drain `receiver` balanceFlash loan attack$0
- Tapioca DAO: Not enough TAP tokens to exercise if a user participates and exercises in the same epochGovernance attack$0
- Tapioca DAO: triggerSendFrom() will send all the ETH in the destination chain where sendFrom() is called to the refundAddress in the LzCallParams argumentGovernance attack$0
- Tapioca DAO: CompoundStrategy attempts to transfer out a greater amount of ETH than will actually be withdrawn, leading to DoSReentrancy$0
- Tapioca DAO: TOFT `triggerSendFrom` can be used to steal all the balanceBridge exploit$0
- Tapioca DAO: Attacker can block LayerZero channel due to missing check of minimum gas passedBridge exploit$0
- Tapioca DAO: Accounted balance of GlpStrategy does not match withdrawable balance, allowing for attackers to steal unclaimed rewardsGovernance attack$0
- Tapioca DAO: `exitPosition` in `TapiocaOptionBroker` may incorrectly inflate position weightsGovernance attack$0
- Tapioca DAO: `BalancerStrategy.sol`: `_withdraw` withdraws insufficient tokensGovernance attack$0
- Centrifuge: Investors claiming their `maxDeposit` by using the `LiquidityPool.deposit()` will cause other users to be unable to claim their `maxDeposit`/`maxMint`Integer overflow/underflow$0
- Centrifuge: You can deposit really small amount for other users to DoS themAccess control$0
- Centrifuge: DelayedAdmin Cannot `PauseAdmin.removePauser`Governance attack$0
- Centrifuge: Cached `DOMAIN_SEPARATOR` is incorrect for tranche tokens potentially breaking permit integrationsLogic error$0
- Centrifuge: The Restriction Manager does not completely implement ERC1404 which leads to accounts that are supposed to be restricted actually having access to do with their tokens as they see fitAccess control$0
- Maia DAO Ecosystem: `ERC4626PartnerManager.sol` mints extra `partnerGovernance` tokens to itself, resulting in over supply of governance tokenAccess control$0
- Maia DAO Ecosystem: Unstaking `vMAIA` tokens on the first Tuesday of the month can be offsetGovernance attack$0
- Maia DAO Ecosystem: `vMaia` Lacks of override in `forfeitBoost`Integer overflow/underflow$0
- Maia DAO Ecosystem: Branch Strategies lose yield due to wrong implementation of time limit in `BranchPort.sol`Oracle manipulation$0
- Maia DAO Ecosystem: `ERC4626PartnerManager.checkTransfer` does not check `amount` correctly, as it applies `bHermesRate` to `balanceOf[from]`, but not `amount`.Governance attack$0
- Maia DAO Ecosystem: Claiming outstanding utility tokens from `vMaia` vault DoS on `pbHermes<>bHermes` conversion rate `>` 1Governance attack$0
- Maia DAO Ecosystem: Maia Governance token balance dilution in `vMaia` vault is breaking the conversion rate mechanismInteger overflow/underflow$0
- Maia DAO Ecosystem: Wrong consideration of `blockformation` period causes incorrect `votingPeriod` and `votingDelay` calculationsGovernance attack$0
- Maia DAO Ecosystem: `_decrementWeightUntilFree()` has a possible infinite loopReentrancy$0
- Maia DAO Ecosystem: `migratePartnerVault()` in the first vault does not work properlyAccess control$0
- Maia DAO Ecosystem: Although `ERC20Boost.decrementGaugesBoostIndexed` function would require the user to remove all of their boosts from a deprecated gauge at once, such a user can instead call `ERC20Boost.decrementGaugeBoost` function multiple times to utiliz…Governance attack$0
- Maia DAO Ecosystem: Removing more gauge weight than it should be while transferring `ERC20Gauges` tokenReentrancy$0
- Maia DAO Ecosystem: `updatePeriod()` has less minting of `HERMES`Governance attack$0
- Maia DAO Ecosystem: `BaseV2Minter` DAO reward shares are calculated wrongGovernance attack$0
- Maia DAO Ecosystem: A malicious user can front-run Gauges's call `addBribeFlywheel` to steal bribe rewardsFlash loan attack$0
- Maia DAO Ecosystem: Re-adding a deprecated gauge in a new epoch before calling `updatePeriod()`/`queueRewardsForCycle()` will leave some gauges without rewardsGovernance attack$0
- Maia DAO Ecosystem: `redeem()` in `beforeRedeem` is using the wrong owner parameterReentrancy$0
- Maia DAO Ecosystem: In `ERC20Boost.sol`, a user can be `attached` to a gauge and have no boost balance.Governance attack$0
- Maia DAO Ecosystem: If a STRATEGY TOKEN is "Toggled off" STRATEGIES will still be able to withdraw, but returning of tokens with `replenishReserves` will be disabled.Access control$0
- Maia DAO Ecosystem: `vMaia` is ERC-4626 compliant, but the `maxWithdraw` & `maxRedeem` functions are not fully up to EIP-4626's specificationGovernance attack$0
- Maia DAO Ecosystem: Governance relies on the current `totalSupply` of `bHermes` when calculating `proposalThresholdAmount` and `quorumVotesAmount`Governance attack$0
- Lybra Finance: If `ProtocolRewardsPool` is insufficient in EUSD, users will not be able to claim any rewardsLogic error$0
- Lybra Finance: There is no mechanism that prevents from minting less than `esLBR` maximum supply in `StakingRewardsV2`Logic error$0
- Lybra Finance: Rewards for initial period can be lost in all of the synthetix derivative contractsAccess control$0
- Lybra Finance: Incorrect Reward Distribution Calculation in `ProtocolRewardsPool`Logic error$0
- Lybra Finance: Governance wrongly calculates `_quorumReached()`Governance attack$0
- Lybra Finance: Wrong `proposalThreshold` amount in `LybraGovernance.sol`Governance attack$0
- Lybra Finance: Allowing `refreshReward()` to fail during minting or buring esLBR could result in gain or loss previously earned rewardGovernance attack$0
- Lybra Finance: `stakerewardV2pool.withdraw()` should check the user's boost lock status.Logic error$0
- Asymmetry Finance: Stuck ether when use function `stake` with empty `derivatives`(`derivativeCount` = 0)Logic error$0
- Asymmetry Finance: Residual ETH unreachable and unutilized in SafEth.solAccess control$0
- Asymmetry Finance: sFrxEth may revert on redeeming non-zero amountLogic error$0
- Asymmetry Finance: Users can fail to unstake and lose their deserved ETH because malfunctioning or untrusted derivative cannot be removedAccess control$0
- Asymmetry Finance: An attacker can manipulate the preDepositvePrice to steal from other usersInteger overflow/underflow$0
- Ethos Reserve: In `ReaperVaultV2`, we should update `lockedProfit` and `lastReport` before changing `lockedProfitDegradation`Front-running / MEV$0
- Biconomy: Destruction of the `SmartAccount` implementationSignature replay$0
- Biconomy: `FeeRefund.tokenGasPriceFactor` is not included in signed transaction data allowing the submitter to steal fundsReentrancy$0
- Biconomy: Replay attack (EIP712 signed transaction)Signature replay$0
- Biconomy: Theft of funds under relaying the transactionFront-running / MEV$0
- Biconomy: DoS of user operations and loss of user transaction fee due to insufficient gas value submission by malicious bundlerLogic error$0
- Biconomy: Non-compliance with EIP-4337Logic error$0
- Biconomy: Arbitrary transactions possible due to insufficient signature validationLogic error$0
- Biconomy: Transaction can fail due to batchId collisionLogic error$0
- Biconomy: Attacker can gain control of counterfactual walletFront-running / MEV$0
- Biconomy: Doesn't Follow ERC1271 StandardLogic error$0
- Biconomy: Griefing attacks on `handleOps` and `multiSend` logicFront-running / MEV$0
- Biconomy: Methods used by EntryPoint has `onlyOwner` modifierAccess control$0
- Biconomy: Paymaster ETH can be drained with malicious senderLogic error$0
- Biconomy: `SmartAccount.sol` is intended to be upgradable but inherits from contracts that contain storage and no gapsLogic error$0