Tapioca DAO — disclosed vulnerability reports and payouts

Every publicly disclosed and closed bug bounty report we hold for Tapioca DAO, with our own summary of each finding and a link to the original disclosure.

Reports indexed
88
Total paid
$0
Critical
0
Largest payout
$0

This page collects the 88 closed, publicly disclosed Tapioca DAO reports indexed on CoinBuggie. Nothing here is active or unpatched — every entry was published by the programme or the researcher after remediation.

The findings concentrate in Logic error, Governance attack, Access control, Bridge exploit, Reentrancy, across EVM-Solidity, Move. Reading a single protocol end to end is the fastest way to see which assumptions its codebase repeatedly gets wrong, which is usually a better predictor of where the next finding lives than the category alone.

Use the vulnerability class links below to compare these findings against the same bug class in other protocols.

What reviewers look for

  • Logic error findings disclosed against Tapioca DAO
  • Governance attack findings disclosed against Tapioca DAO
  • Access control findings disclosed against Tapioca DAO
  • Bridge exploit findings disclosed against Tapioca DAO
  • Reentrancy findings disclosed against Tapioca DAO

Curated highlights

The largest disclosed payouts in this group, with our own summary of each. Every report links back to the original disclosure.

mediumLogic errorEVM-Solidity$0

Tapioca DAO: `depositRepayAndRemoveCollateralFromMarket` function of MagnetarAssetModule can't be used on behalf of user

Tapioca's Magnetar contract is designed to let whitelisted contracts, such as TOFT or USDT modules, execute operations on behalf of end users, typically when handling cross-chain lzReceive token deliveries. The delegation path is authorized via _checkSender(data.user), which permits a whitelisted caller to act for the user. However, in depositRepayAndRemoveCollateralFromMarket, the deposit tokens are pulled with _extractTokens(msg.sender, ...) rather than from data.user. As a result, a whitelisted caller operating for another user will have its own funds pulled for the deposit, or the call will revert for insufficient balance/allowance. The sponsor confirmed the issue and patched it in the tapioca-periph repository.

Tapioca DAOcode4renaMay 23, 2024Open
mediumLogic errorEVM-Solidity$0

Tapioca DAO: anyone with a `Pearlmit` approval to transfer `TapToken` can have their funds stolen

Tapioca DAO's aTokenOFT TapToken inherited a transferFrom path in BaseTapiocaOmnichainEngine that falls back to Pearlmit's transferFromERC20 whenever the standard ERC20 allowance is insufficient. The flaw is that the Pearlmit call authenticates the spender against msg.sender, which during this fallback is the TapToken contract itself rather than the actual caller. Consequently any user who has granted TapToken a Pearlmit allowance for their TAP can have those approved funds drained by an arbitrary third party who simply calls transferFrom. The sponsor contested the finding as Low/Invalid, questioning context, though the reported logic gap reproduces under the accompanying PoC conditions.

Tapioca DAOcode4renaMay 23, 2024Open
mediumLogic errorEVM-Solidity$0

Tapioca DAO: Options can be exercised preemptively due to timing delays

TapiocaOptionBroker's options exercise path enforces its one-epoch cooldown using wall-clock time (block.timestamp) while its gauge reward accounting (netDepositedForEpoch) is keyed to an epoch counter. A participant who joins at the very start of an epoch can wait the full EPOCH_DURATION and call exerciseOption before the epoch counter advances, satisfying the timestamp-based cooldown while rewards are still computed against the current epoch's deposit denominator. The user then collects the same epoch's gauge rewards they never earned, corrupting the netAmount accounting and draining the reward pool so that other legitimately owed depositors can no longer claim their yield. The recommended fix is to anchor the cooldown to the epoch boundary rather than the timestamp.

Tapioca DAOcode4renaMay 23, 2024Open
highGovernance attackEVM-Solidity$0

Tapioca DAO: `MagnetarMintXChainModule.sol`:`mintBBLendXChainSGL` can be used to manipulate user positions by abusing whitelist privileges

Tapioca's Magnetar module gates account operations through a _checkSender check that permits either the account owner or any address whitelisted by the cluster contract. In the cross-chain flow, the whitelisted USDO token relay executes lzcompose payloads that ultimately call Magnetar's depositYBLendSGLLockXchainTOLP on the destination chain. Because the source-chain mintBBLendXChainSGL never verifies that the compose-message data.user matches the initiating caller, an attacker can embed an arbitrary victim address into the payload and have whitelisted USDO perform deposits, lending and token extraction against that victim's market position. The impact is direct manipulation of any user's position once that user has approved the Magnetar contract. Tapioca confirmed the issue via a duplicate report and produced a periph repository fix commit.

Tapioca DAOcode4renaMay 23, 2024Open
highLogic errorEVM-Solidity$0

Tapioca DAO: Incorrect math means `data.removeAndRepayData.removeAssetFromSGL` will never work once SGL has accrued interest

Tapioca's MagnetarOptionModule converts a user-desired withdrawal amount into a YieldBox share via toShare() and passes that value directly into Singularity's removeAsset(). Singularity's removeAsset does not treat that argument as a YieldBox share but as a fraction of the market's total assets, so the two interpretations only coincide at market creation. Once a Singularity market accrues any interest, its elastic base diverges from YieldBox share accounting and the remove path withdraws the wrong quantity or breaks entirely. The sponsor confirmed the finding through a duplicate report and supplied a fix commit; the intended correction is to use Singularity's unused getFractionForAmount helper to convert amounts into proper market fractions, while the practical impact is a broken user-facing removal function rather than direct fund theft.

Tapioca DAOcode4renaMay 23, 2024Open
mediumLogic errorEVM-Solidity$0

Tapioca DAO: `AirdropBroker`: Airdrops in epoch 4 can participate and exercise options in subsequent epochs

Tapioca's AirdropBroker registers epoch-4 airdrop entitlements in the `phase4Users` mapping but never clears that mapping at the boundary of phase four's sub-epochs. Because eligibility persists, a user who skips participating in epoch 4 keeps their full `aoTAP` entitlement and can participate and exercise those epoch-4 options in a later epoch, on top of the unclaimed epoch-4 amount that already rolled into that later epoch's pot. The defect inflates the effective airdrop a user can draw past the amount the protocol allocated to them and distorts the epoch distribution economics for the remaining twTAP lockers.

Tapioca DAOcode4renaMay 23, 2024Open

All reports in this group

Vulnerability classes disclosed here

Related protocol pages