In the current implementation, the Vault.update() function allows the isLive flag of a vault to be set to false, effectively marking it as inactive. However, the claimFees() function in FeeDistributionBranch contract does not check whether the vault is live before allowing users to claim their fees. This oversight can lead to significant risks and inconsistencies within the protocol.
The updateVaultConfiguration() function internally calls Vault.update():
This function modifies the vault's settings, including the isLive flag.
When set to false, it indicates that the vault is no longer active and should not process any transactions or claims.
claimFees(uint128 vaultId):
This function allows users to claim their share of accumulated fees from a specified vault.
However, it does not verify if the vault is still active (i.e., if isLive is true).
Users may be able to claim fees from a vault that has been marked as inactive. This could result in users receiving funds from a vault that is no longer operational, undermining the intended functionality of the isLive flag.
Allowing claims from inactive vaults could lead to financial discrepancies within the protocol. For example, if a vault is inactive due to a security issue or maintenance, allowing fee claims could exacerbate the situation and lead to further complications.
Manual Review
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.