Exactly Protocol — disclosed vulnerability reports and payouts

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

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

This page collects the 16 closed, publicly disclosed Exactly Protocol 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, Front-running / MEV, across EVM-Solidity. 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 Exactly Protocol
  • Front-running / MEV findings disclosed against Exactly Protocol

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

Exactly Protocol: Profitable liquidations and accumulation of bad debt due to earnings accumulator not being triggered before liquidating

Exactly Protocol's liquidation flow previews a borrower's collateral against totalAssets() before the earnings accumulator is accrued and converted into floating assets. Because a liquidatee's existing floating market shares are entitled to a pro-rata share of newly settled lender assets and expired-maturity penalty-rate debt, the actual collateral seized is smaller than intended. In one scenario this leaves the liquidatee with a net profit (undermining any incentive to repay), and in another it strands residual dust collateral alongside debt that Auditor::handleBadDebt() can never fully clear, causing losses to accumulate. The judge upheld this as medium severity after an escalation from the reporter's high-severity claim, citing likelihood and the availability of same-block double liquidations as mitigations.

Exactly ProtocolsherlockMay 4, 2024Open
mediumLogic errorEVM-Solidity$0

Exactly Protocol: Utilization rates are 0 when average assets are 0, which may be used to game maturity borrows / deposits / withdrawals

Exactly Protocol's interest-rate model returns a utilization ratio of 0 whenever the average floating assets are 0, including the first-block state after a market is deployed when the exponential average dampening factor has not yet kicked in. Combined with floatingAssetsAverage starting at 0, a user can deposit and borrow in the same block (or whenever assets sit at zero) and obtain a fixed-rate loan at the lowest possible interest even while the market is at its highest utilization. The fixed fees owed end up unassigned and later convert to floating assets, effectively letting the borrower pay far less than lenders are owed. Sherlock accepted the reporter's escalation and adjudicated the issue as Medium severity.

Exactly ProtocolsherlockMay 4, 2024Open
mediumLogic errorEVM-Solidity$0

Exactly Protocol: When bad debts are cleared, there will be some untracked funds

Exactly Protocol's fixed-rate lending markets track all funds through floatingAssets, floatingDebt, floatingBackupBorrowed and the earningsAccumulator. When a borrower's bad debt is cleared, clearBadDebt repays the loan principal out of floatingBackupBorrowed but deducts the full principal-plus-fee from the earningsAccumulator, even though the fee portion had already been booked into the maturity pool's unassignedEarnings. If the liquidated borrower is the last holder of that maturity pool, there is no code path that converts the stranded unassignedEarnings back into tracked funds, so real tokens remain in the contract but are never accounted for. The report demonstrates the divergence with a reproduction test that seeds the accumulator via a late-repayment penalty, borrows under a manufactured DAI/WETH price, liquidates after dropping the price, and shows actual token balance exceeding the tracked balance by exactly the uncleared fee. The protocol remediated the issue by sweeping a cleared pool's unassignedEarnings into the earningsAccumulator when its last borrow is cleared.

Exactly ProtocolsherlockMay 4, 2024Open
highLogic errorEVM-Solidity$0

Exactly Protocol: Unassigned pool earnings can be stolen when a maturity borrow is liquidated by depositing at maturity with 1 principal

In Exactly Protocol's fixed-rate market, liquidating a borrower's maturity loan calls noTransferRepayAtMaturity() with canDiscount=false, so unassigned pool earnings are not folded into the earningsAccumulator and subtracted from the repay. Those earnings later accrue to floatingAssets and are claimable by the next maturity depositor. An attacker can deposit 1 wei principal, borrow 1 wei at maturity to make floatingBackupBorrowed exceed supply, and then deposit 1 wei at maturity to capture the entire unassigned earnings of the liquidated pool (shown reaching ~6.657e18 token value). The team fixed this by converting unassigned earnings to the time-based earningsAccumulator during liquidation, and the fix was signed off by the Lead Senior Watson.

Exactly ProtocolsherlockMay 4, 2024Open
mediumLogic errorEVM-Solidity$0

Exactly Protocol: Theft of unassigned earnings from a fixed pool

Exactly Protocol's fixed-rate markets calculate the upfront borrow fee with mulDivDown rounding, so a dust-sized principal rounds the fee to zero. An attacker who repeats such dust borrows on a single fixed pool accumulates a large principal carrying no fee, then repays early to receive a discount derived from the pool's unassigned earnings, ultimately repaying less than borrowed. The difference is drawn from the pool's unassigned earnings and scales with those earnings; the economics only favor the attacker on very low-gas L2s. The finding was confirmed as Medium severity by the Sherlock lead judge and fixed via PR #726.

Exactly ProtocolsherlockMay 4, 2024Open
mediumLogic errorEVM-Solidity$0

Exactly Protocol: Fixed interest rates can be manipulated by a whale borrower

Exactly Protocol's fixed-rate market computes borrow rates from current floating debt rather than a time-averaged floating-debt figure, while the supply side is averaged precisely to resist single-block manipulation. A whale can repay a very large floating loan and then take a fixed-rate loan in the same block at a heavily suppressed rate, then re-borrow the repaid funds, leaving their economic position unchanged. A mainnet-fork test on Optimism shows the fixed-rate fee on a 1e18 borrow dropping from ~58% to ~1% of principal. This lets a borrower obtain fixed-rate credit far below the market rate, transferring value away from lenders.

Exactly ProtocolsherlockMay 4, 2024Open

All reports in this group

Vulnerability classes disclosed here

Related protocol pages