57374 sc low staking tier misclassification
Description
Vulnerability Overview
Root Cause
function stakingTiers(uint256 amountStaked) external pure returns (StakingTiers tier) {
// Expects LONG amount (18 decimals) but receives share balance
if (amountStaked < 50000e18) {
return StakingTiers.NoStakes;
} else if (amountStaked >= 50000e18 && amountStaked < 250000e18) {
return StakingTiers.BronzeTier;
} else if (amountStaked >= 250000e18 && amountStaked < 500000e18) {
return StakingTiers.SilverTier;
} else if (amountStaked >= 500000e18 && amountStaked < 1000000e18) {
return StakingTiers.GoldTier;
}
return StakingTiers.PlatinumTier;
}Attack Flow (Passive Economic Error)
Impact
User Shares
Exchange Rate
Actual LONG
Classified As
Correct Tier
Excess Fee
Link to Proof of Concept
Proof of Concept
Prerequisites
Demonstration
Expected vs Actual Behavior
4. Recommended Fix
Immediate Fix
Comprehensive Fix with Helper Function
Defense-in-Depth Recommendations
User Refund Consideration
5. References
Previous57454 sc low referral percentages schedule stuck on first configurationNext57290 sc high mev sandwich attack vulnerability no user controlled slippage protection in token swaps
Was this helpful?