Summary
Most ManagedLeveragedVault functions rely on totalAssets(), including ERC4626 compliant functions that must not revert; however, they will revert when there is bad debt.
Vulnerability Detail
ManagedLeveragedVault:: _assetsValuation() reverts when there is bad debt:
if (debtValue > collateralValue + exposureValue) {
revert BadDebt(debtValue - (collateralValue + exposureValue));
}This will make all ERC4626 functions revert that must not do so when called, becoming non compliant. Additionally, it is not possible to request withdrawal intents temporarily.
Impact
DoSed request intent and non ERC4626 compliance
Code Snippet
Tool Used
Manual Review
Recommendation
Handle the situation instead of reverting to allow the normal behaviour of the mentioned functions (although the behaviour may be hard to define).