#46122 [SC-Insight] Incorrect Minimum Lots Validation in CoreVault Redemption
Description
Brief/Intro
Vulnerability Details
function redeemFromCoreVault(
uint64 _lots,
string memory _redeemerUnderlyingAddress
)
internal
onlyEnabled
{
State storage state = getState();
require(state.coreVaultManager.isDestinationAddressAllowed(_redeemerUnderlyingAddress),
"underlying address not allowed by core vault");
AssetManagerSettings.Data storage settings = Globals.getSettings();
uint64 availableLots = getCoreVaultAmountLots();
uint64 minimumRedeemLots = SafeMath64.min64(state.minimumRedeemLots, availableLots);
require(_lots >= minimumRedeemLots, "requested amount too small");
// ... rest of the function
}Impact Details
References
Recommendations
Proof of Concept
Proof of Concept
Previous#46119 [SC-Low] Incorrect `msg.Value` check in `CoreVault` TransferNext#46198 [SC-Insight] Redemption Blocked if Agent Refuses to Confirm Core Vault Payment
Was this helpful?