Core Contracts

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

Fund missmanagement in `Treasury`

Summary

The FeeCollector contract directly transfers RAAC tokens to the Treasury contract using safeTransfer instead of utilizing the Treasury's deposit function. This direct transfer prevents the Treasury from properly processing and tracking the received funds, leading to fund losses.

Vulnerability Details

In FeeCollector, the emergencyWithdraw (and also other functions) contains:

raacToken.safeTransfer(treasury, balance);

This direct transfer bypasses the Treasury's deposit function and as a result the _balances mapping in Treasury doesn't get updated, which means the tokens are permanently locked in the contract.

Impact

Due to this vulnerability, the manager will not be able to withdraw the tokens transferred to Treasury, resulting in a permanent loss of all tokens transferred from FeeCollector, with no way of recovery.

Recommendations

Consider modifying FeeCollector to transfer tokens to Treasury through the deposit function.

Updates

Lead Judging Commences

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

FeeCollector::_processDistributions and emergencyWithdraw directly transfer funds to Treasury where they get permanently stuck

Support

FAQs

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

Give us feedback!