Core Contracts

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

Missing Zero Address Check for Recipient in `LendingPool::rescueToken` Function

Summary

The rescueToken function in the LendingPool contract lacks a zero address validation for the recipient parameter, which could lead to permanent loss of tokens if the owner accidentally provides address(0) as the recipient.

Vulnerability Details

function rescueToken(address tokenAddress, address recipient, uint256 amount) external onlyOwner {
require(tokenAddress != reserve.reserveRTokenAddress, "Cannot rescue RToken");
IERC20(tokenAddress).safeTransfer(recipient, amount); <==@found
}

Impact

  • Tokens could be permanently lost if transferred to address(0)

Tools Used

  • Manual Review

Recommendations

Add a zero address check for the recipient parameter.

function rescueToken(address tokenAddress, address recipient, uint256 amount) external onlyOwner {
require(tokenAddress != reserve.reserveRTokenAddress, "Cannot rescue RToken");
+ require(recipient != address(0), "Invalid recipient address");
IERC20(tokenAddress).safeTransfer(recipient, amount);
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 4 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.