Core Contracts

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

setSwapTaxRate and setBurnTaxRate calls in RAACMinter revert

Summary

setSwapTaxRate and setBurnTaxRate calls in RAACMinter revert

due to an Incorrect modifer in the called functions

Vulnerability Details

The RAACToken contract stores the address of RAACMinter using the variable minter.
And uses the onlyMinterModifier as an access control mechanism for RAACMinter related functions.

The setSwapTaxRate and setBurnTaxRate functions of RAACMinter makes external calls to RAACToken Contracts functions of the same name as shown

function setSwapTaxRate(uint256 _swapTaxRate) external onlyRole(UPDATER_ROLE) {
if (_swapTaxRate > 1000) revert SwapTaxRateExceedsLimit();
raacToken.setSwapTaxRate(_swapTaxRate);
emit ParameterUpdated("swapTaxRate", _swapTaxRate);
}

But the calls are reverted as the RAACToken contract implements a onlyOwner modifer on its setSwapTaxRate and setBurnTaxRate instead of onlyMinter modifier.

function setSwapTaxRate(uint256 rate) external onlyOwner { _setTaxRate(rate, true); }
function setBurnTaxRate(uint256 rate) external onlyOwner { _setTaxRate(rate, false); }

Impact

Reverting calls due to Incorrectly placed access control modifier

Recommendations

Replace the onlyOwner modifer with the onlyMinter modifier to facilitate the call from RAACMinter

function setSwapTaxRate(uint256 rate) external onlyMinter { _setTaxRate(rate, true); }
function setBurnTaxRate(uint256 rate) external onlyMinter { _setTaxRate(rate, false); }
Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACMinter lacks critical ownership transfer functionality and parameter management after receiving RAACToken ownership, causing permanent protocol rigidity

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACMinter lacks critical ownership transfer functionality and parameter management after receiving RAACToken ownership, causing permanent protocol rigidity

Support

FAQs

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