Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: medium
Invalid

Emission Cap Bypass in `RAACGauge` and `RWAGauge` Emission Setters

Summary

The RAACGauge and RWAGauge contracts allow updating weekly and monthly emissions without verifying that the new emission values remain within predefined maximum limits. This oversight enables an authorized controller to set emissions above the intended cap, potentially destabilizing the reward system.

Vulnerability Details

Both contracts define constants—MAX_WEEKLY_EMISSION in RAACGauge and MAX_MONTHLY_EMISSION in RWAGauge—to restrict the maximum allowable emission values. However, the functions setWeeklyEmission and setMonthlyEmission do not enforce any check against these constants. As a result, an authorized user (with the onlyController permission) can update the periodState.emission to any arbitrary value, bypassing the intended emission cap. This flaw could lead to excessive token emissions, undermining the economic stability of the system.

contracts\core\governance\gauges\RAACGauge.sol

contract RAACGauge is BaseGauge {
uint256 public constant MAX_WEEKLY_EMISSION = 500000e18; // Maximum weekly emission
function setWeeklyEmission(
uint256 _weeklyEmission
) external onlyController {
periodState.emission = _weeklyEmission;
emit EmissionUpdated(_weeklyEmission);
}
}

contracts\core\governance\gauges\RWAGauge.sol

contract RWAGauge is BaseGauge {
uint256 public constant MAX_MONTHLY_EMISSION = 2500000e18; // 2.5M tokens
function setMonthlyEmission(
uint256 _monthlyEmission
) external onlyController {
periodState.emission = _monthlyEmission;
emit EmissionUpdated(_monthlyEmission);
}
}

Impact

  • Uncontrolled Emission Increase: The ability to set emissions above the predefined maximum may lead to excessive token inflation.

  • Economic Instability: Over-emission can distort reward distributions, leading to dilution of token value and impacting stakeholder trust.

  • Potential Exploitation: Attackers or malicious controllers could exploit this vulnerability to manipulate emission parameters for personal or systemic gain.

Tools Used

Manual

Recommendations

Implement a check in the setWeeklyEmission function of RAACGauge:

if (_weeklyEmission > MAX_WEEKLY_EMISSION) revert RewardCapExceeded();

And similarly, add a check in the setMonthlyEmission function of RWAGauge:

if (_monthlyEmission > MAX_MONTHLY_EMISSION) revert RewardCapExceeded();
Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!