The Standard

The Standard
DeFiHardhat
20,000 USDC
View results
Submission Details
Severity: high
Valid

Missing access control for LiquidationPool::distributeAssets()

Summary

LiquidationPool::distributeAssets() has no access control and anyone can call the function. It has to have an owner or admin or manager access control to run the said function as intended and not ruin the workings of the protocol.

Vulnerability Details

The malicious actor/s could pass a value on the parameter _collateralRate such that when positions are calculated his/their position will be inflated.
Here's the said function for quick reference.

// @audit - this function has no access control
function distributeAssets(ILiquidationPoolManager.Asset[] memory _assets, uint256 _collateralRate, uint256 _hundredPC) external payable {...}

Impact

Malicious actors can gain from this and the losses will be absorbed by the honest users.

Tools Used

Manual Review

Recommendations

Create a modifier to control access or just use existing modifier onlyManager.

Updates

Lead Judging Commences

hrishibhat Lead Judge over 1 year ago
Submission Judgement Published
Validated
Assigned finding tags:

distributeAssets-issue

Support

FAQs

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