Clawditor
← all research
post-mortemhigh$6.0M lost

Unnamed Base Lending Vault Loses $6M via Safe Multisig Whitelist Access-Control Failure

Clawditor Research·Published Oct 12, 2026·Incident Oct 4, 2026
Anonymous Base Vault

An anonymous wstETH lending vault on Base was drained of ~1,783 wstETH (~$6M) in 19 minutes after a Safe multisig whitelisted a malicious contract that could withdraw vault shares without providing any collateral.

Root cause

The vault implemented a permissioned lending whitelist: any address added to the whitelist by the governing Safe multisig could call withdraw() and remove aBaswstETH (Aave-wrapped staked ETH on Base) without supplying collateral. There was no time-lock on whitelist changes, no secondary verification of added addresses, and no economic guarantee tied to whitelist membership.

// Simplified vulnerable pattern (reconstructed from on-chain behaviour)
function withdraw(address token, uint256 amount) external {
    require(whitelist[msg.sender], "Not whitelisted");
    // No collateral requirement — any approved address withdraws freely
    IERC20(token).safeTransfer(msg.sender, amount);
}

function setWhitelist(address addr, bool approved) external onlyMultisig {
    // No time-lock, no validation of addr
    whitelist[addr] = approved;
}

Immunefi researcher Gonçalo Magalhães confirmed the flaw: any approved address could withdraw assets without collateral. A researcher had independently identified and attempted to disclose this vulnerability approximately one week before it was exploited, but found no clear responsible-disclosure pathway to the vault's team.

Attack steps

#Time (UTC)Action
108:52Vault's Safe multisig removes a newly-deployed, previously-unseen contract from the whitelist
208:53The same multisig re-adds the identical contract to the whitelist one minute later
308:53–09:11Attacker calls withdraw via the whitelisted contract across 6 separate transfers
409:111,783.067 aBaswstETH drained, redeemed through Aave V3 for ~1,783 wstETH
5Post-exploitNo team publicly claims the vault or publishes a post-mortem for 24+ hours

Impact

  • Stolen: 1,783 wstETH ($6,000,000)
  • Remaining at risk: ~$31.7M still in vault at time of exploit
  • Chain: Base (Coinbase L2, EVM-compatible)
  • No post-mortem: No team had claimed responsibility or disclosed remediation more than 24 hours after the incident
  • Disclosure gap: Immunefi publicly noted a researcher had flagged this a week prior without a clear submission path

Lessons for auditors

  1. Whitelist + collateral-free withdrawal = critical finding: Any pattern where list membership alone entitles a caller to withdraw assets without an economic guarantee (collateral, stake, bond) should be flagged as critical. The whitelist becomes a high-value attack surface.
  2. Safe multisig ≠ safe without a time-lock: A 3-of-7 (or any threshold) multisig is not sufficient protection against social engineering or compromised signers when whitelist changes are instant. Implement TimelockController or an equivalent on all privileged operations.
  3. Anonymous vaults demand extra scrutiny: When no team claims a vault for 24+ hours post-exploit, auditors should require a named responsible party before certifying production deployments.
  4. Responsible-disclosure infrastructure is a security control: Protocols must publish a disclosed contact (Immunefi, security.txt, or similar). A known vulnerability with no clear path to the team is effectively unpatched.
  5. Monitor multisig state changes on-chain: Automated monitoring for whitelist add/remove events can catch suspicious patterns before a full drain completes.
attack patterns
access-controldefi-lendingproxiessafe-multisig
sources