Ethereum Credit Guild — disclosed vulnerability reports and payouts
Every publicly disclosed and closed bug bounty report we hold for Ethereum Credit Guild, with our own summary of each finding and a link to the original disclosure.
- Reports indexed
- 28
- Total paid
- $0
- Critical
- 0
- Largest payout
- $0
This page collects the 28 closed, publicly disclosed Ethereum Credit Guild reports indexed on Coin Buggie. Nothing here is active or unpatched — every entry was published by the programme or the researcher after remediation.
The findings concentrate in Governance attack, Logic error, Flash loan attack, Access control, Integer overflow / underflow, 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
- Governance attack findings disclosed against Ethereum Credit Guild
- Logic error findings disclosed against Ethereum Credit Guild
- Flash loan attack findings disclosed against Ethereum Credit Guild
- Access control findings disclosed against Ethereum Credit Guild
- Integer overflow / underflow findings disclosed against Ethereum Credit Guild
Curated highlights
The largest disclosed payouts in this group, with our own summary of each. Every report links back to the original disclosure.
Ethereum Credit Guild: Users can deflate other markets Guild holders rewards by staking less priced token
A logic flaw in Ethereum Credit Guild's SurplusGuildMinter allows users to pass lending terms from foreign token markets during the staking process. Because the contract does not check if the specified term uses the same underlying credit token as the SurplusGuildMinter instance, an attacker can deposit a lower-value credit token to mint Guild tokens that inflate the gauge weight of a higher-value market term. This enables economic manipulation of gauge weights using cheaper assets, unfairly diluting reward payouts for legitimate stakers in the target market.
Ethereum Credit Guild: `LendingTerm::debtCeiling()` can return wrong debt as the `min()` is evaluated incorrectly
A flaw in the Ethereum Credit Guild's LendingTerm contract caused improper debt ceiling calculations due to an incomplete comparison logic when evaluating three parameter caps. The debtCeiling function intended to return the minimum value among creditMinterBuffer, debtCeiling, and hardCap, but its conditional checks failed to properly compare creditMinterBuffer against hardCap. Consequently, the function could return a value higher than the true minimum when hardCap was the smallest of the three parameters. This inaccuracy led dependent protocol operations to enforce higher debt ceilings than intended, potentially allowing excess credit issuance.
Ethereum Credit Guild: Anyone can prolong the time for the rewards to get distributed
In Ethereum Credit Guild, rebasing credit token rewards are designed to be distributed over a fixed period whenever rewards are deposited. However, calling the reward distribution function unconditionally resets the completion timestamp to thirty days from the current execution time. An attacker holding micro-amounts of credit tokens can repeatedly call the distribution function to push back the target completion time, severely delaying reward payouts to legitimate rebasing users at virtually no cost.
Ethereum Credit Guild: Users staking via the `SurplusGuildMinter` can be immediately slashed when staking into a gauge that had previously incurred a loss
A logic flaw in Ethereum Credit Guild's SurplusGuildMinter causes immediate slashing of users staking into any gauge that previously experienced a loss. When a user stakes into a term via SurplusGuildMinter, the initial call to getRewards evaluates slashing conditions using an uninitialized memory struct where userStake.lastGaugeLoss defaults to zero. Consequently, if the gauge has any historical loss timestamp greater than zero, the user is automatically flagged as slashed. When the user later attempts to claim rewards or withdraw their principal via unstake, the protocol clears their stake struct while denying token transfers, causing a permanent loss of deposited credit tokens.
Ethereum Credit Guild: Malicious borrower can decrease Guild holders reward
Ethereum Credit Guild contained a vulnerability where a borrower could drastically reduce the rewards distributed to legitimate Guild holders upon loan repayment. By taking out a large flash loan to temporarily mint and stake gUSDC into a term immediately before repaying an interest-bearing loan, an attacker could trigger the notifyPnL() accounting logic with an artificially inflated total stake denominator. This diluted the gauge profit index recalculation, reducing the yield allocated to long-term stakers. The attacker then unstaked and repaid the flash loan within the same transaction at minimal cost.
Ethereum Credit Guild: Incorrect calculations in `debtCeiling`
In Ethereum Credit Guild, the LendingTerm contract contains a mathematical calculation error in its debtCeiling function when predicting future debt ceilings after gauge weight modifications. When evaluating a weight decrement, the function updates the individual gauge's weight by the requested delta but fails to update the total type weight accordingly. This inconsistency breaks the check that identifies single-gauge configurations where debt ceiling is supposed to be unconstrained. As a result, users attempting to decrement gauge weight or withdraw Guild tokens receive an incorrect, restricted debt ceiling value, causing valid token withdrawals and weight adjustments to revert unexpectedly.
All reports in this group
- Ethereum Credit Guild: Auction manipulation by block stuffing and reverting on ERC-777 hooksAccess control$0
- Ethereum Credit Guild: `totalBorrowedCredit` can revert, breaking gauges.Integer overflow/underflow$0
- Ethereum Credit Guild: Re-triggering the `canOffboard[term]` flag to bypass the DAO vote of the lending term offboarding mechanismGovernance attack$0
- Ethereum Credit Guild: `LendingTerm` inconsistency between debt ceiling as calculated in `borrow()` and `debtCeiling()`Logic error$0
- Ethereum Credit Guild: Over 90% of the Guild staked in a gauge can be unstaked, despite the gauge utilizing its full debt allocationInteger overflow/underflow$0
- Ethereum Credit Guild: LendingTerm `debtCeiling` function uses `creditMinterBuffer` incorrectlyLogic error$0
- Ethereum Credit Guild: The gauge status wasn't checked before reducing the user's gauge weight.Front-running / MEV$0
- Ethereum Credit Guild: Inability to offboard term twice in a 7-day period may lead to bad debt to the marketLogic error$0
- Ethereum Credit Guild: LendingTerm.sol `_partialRepay()` A user cannot partial repay a loan with `0` interestLogic error$0
- Ethereum Credit Guild: The `userGaugeProfitIndex` is not set correctly, allowing an attacker to receive rewards without waitingGovernance attack$0
- Ethereum Credit Guild: Repayers using EOA accounts can be affected if bad debt is generated when they are repaying loansLogic error$0
- Ethereum Credit Guild: ProfitManager's `creditMultiplier` calculation does not count undistributed rewards; this can cause value losses to usersGovernance attack$0
- Ethereum Credit Guild: `RateLimitedMinter` isn't used by `SimplePSM` resulting in Governance attacksGovernance attack$0
- Ethereum Credit Guild: `SurplusGuildMinter.getReward()` is susceptible to DoS due to unbounded loopGovernance attack$0
- Ethereum Credit Guild: `PnL` system can be broken by large users intentionally or unintentionally.Access control$0
- Ethereum Credit Guild: The creation of bad debt (`mark-down` of Credit) can force other loans in auction to also create bad debtGovernance attack$0
- Ethereum Credit Guild: Replay attack to suddenly offboard the re-onboarded lending termSignature replay$0
- Ethereum Credit Guild: Wrong ProfitManager in GuildToken, will always revert for other types of gauges leading to bad debtAccess control$0
- Ethereum Credit Guild: Inability to withdraw funds for certain users due to `whenNotPaused` modifier in `RateLimitedMinter`Logic error$0
- Ethereum Credit Guild: There is no way to liquidate a position if it breaches `maxDebtPerCollateralToken` value creating bad debt.Governance attack$0
- Ethereum Credit Guild: Anyone can steal all distributed rewardsFront-running / MEV$0
- Ethereum Credit Guild: Rounding errors can cause ERC20RebaseDistributor transfers and mints to fail for underflowInteger overflow/underflow$0