
SecurityOct 27, 20264 min
Bloom Trading Drain: Valid Signatures, No Leaked Keys
Nine Bloom Trading users lost 9,408 SOL to a third-party RCE without leaked keys, Bloom says. We checked the refunds on-chain. What is known and what is not.

On 26 October 2026, an attacker tried to drain a 2-of-7 Safe multisig on Avalanche. According to the monitoring service Defimon, it held about $7.45 million in trading inventory. The attacker did not steal a key, trick a signer or exploit a bug in the Safe contracts. The attack relied on token approvals the multisig itself had signed in March. An automated MEV bot copied the attack and executed it first. On 27 October it returned almost everything in exchange for a bounty. The mistake behind it is easy to repeat.
On 7 March 2026 at 16:10 UTC, the Safe executed a batch transaction. In it, the Safe granted unlimited spending rights over four tokens (WAVAX, USDC, WETH.e and BTC.b) to the address 0x3725…155d. Defimon reports that the team's pool contract sits at this same address on Ethereum, Base and Arbitrum. On Avalanche, however, the address was empty. It is simply the address that Safe's public CreateCall contract produces on its 13th deployment, and CreateCall had never been used on that chain. The approvals were never revoked.
That left a standing permission that anyone could claim. Defimon describes the method: a fresh account deployed CreateCall through the Safe singleton factory and ran 12 throwaway deployments. It then placed a sweeper contract at the approved address, designed to pull every approved balance out of the Safe. No new signature from the Safe's owners was needed, because the permission already existed on-chain.
The attack transaction was sent at 12:56:14 UTC on 26 October, in Avalanche block 98,605,391. It failed. An MEV bot had copied the transaction and placed its own version first in the same block.
We read the relevant transactions and the Safe's current settings through Avalanche's public C-Chain RPC:
The dollar values ($7.45 million at stake, about $371,000 for the bounty) are Defimon's estimates. We have not independently priced them.
Known: the root cause was a configuration error, namely an unlimited approval to an address with no code on that chain. It was not a flaw in the Safe contracts or in Avalanche. Defimon also reports that the operator's signers moved assets from Safes on several other chains into one new address from 13:48 UTC on 26 October.
Unknown: the operator has not identified itself or published a statement. The identity of the attacker and of the bot's controller is also unknown. Whether similar approvals exist on other chains has not been publicly confirmed. BlockintAI also reports fake "USDC" and "BTC.b" tokens, issued by contracts that are not the real tokens, showing transfers to a look-alike of the return address. This is a pattern associated with address poisoning.
The funds came back because a bot chose to return them, not because a control stopped the attack. For anyone managing assets across several chains, the lesson is practical. An address is only meaningful on the chain where its code actually exists. An approval should be granted only after checking, on that specific chain, that the spender holds the expected code. Unused approvals should be revoked as routinely as old keys are rotated.

SecurityOct 27, 20264 min
Nine Bloom Trading users lost 9,408 SOL to a third-party RCE without leaked keys, Bloom says. We checked the refunds on-chain. What is known and what is not.

SecurityOct 26, 20264 min
A malicious Electrum server could swap a pending payment and wait for a fee bump. What the advisory confirms, what is unknown and what users should do.

SecurityOct 23, 20265 min
A negative fee let an attacker withdraw from the WAX bridge without paying. What Blockaid, SlowMist and the chain data show, and what is unconfirmed.