The created vault is revokeProxy, not includes non revokable.
Summary
The function createVault in CuratedVaultFactory directly creates a vault by RevokableBeaconProxy, which makes the new vault revocable regardless of whether revokeProxy is true or false.
Deep Seaweed Haddock
Low/Info
The created vault is revokeProxy, not includes non revokable.
Summary
The function createVault in
CuratedVaultFactory
directly creates a vault by RevokableBeaconProxy, which makes the new vault revocable regardless of whether revokeProxy is true or false.Root Cause
In
CuratedVaultFactory.sol:50
, there is a missing check whether or not revokeProxy is true. https://github.com/sherlock-audit/2024-06-new-scope/blob/main/zerolend-one/contracts/core/vaults/CuratedVaultFactory.sol#L48Internal pre-conditions
No response
External pre-conditions
No response
Attack Path
No response
Impact
PoC
Under CuratedVaultFactoryTest.sol add POC test for judge revokeProxy
Mitigation
Can reference
PoolFactory.sol:70
, create Vault should depend on the revokeProxy