The Standard

The Standard
DeFiHardhat
20,000 USDC
View results
Submission Details
Severity: low
Invalid

liquidation bug, SmartVault3.sol

Summary

liquidation can be bypassed if protocol address is faulty

Vulnerability Details

function liquidateNative() private {
if (address(this).balance != 0) {
(bool sent,) = payable(ISmartVaultManagerV3(manager).protocol()).call{value: address(this).balance}("");
require(sent, "err-native-liquidate");
}
}

if protocol address (the treasury) is set wrong say to an address that reverts in the receive() function then the vault can never be liquidated by the vault manager, there should be checks for this at the time of deployment.

Recommendations

protocol fee taking should be in a seperate function which can be triggered by the smart vault manager instead of being clubbed with liquidation logic.

Updates

Lead Judging Commences

hrishibhat Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

informational/invalid

Support

FAQs

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