Wormhole incident, 2022-02-02
What happened to Wormhole?
On 2 February 2022 an attacker bypassed signature verification in Wormhole's Solana contract by passing a fake system account, minted 120,000 wETH (≈ $326M) without collateral and bridged most of it to Ethereum. Jump Crypto replaced the ETH the next day, so users were made whole.
Key facts
- Date (UTC)
- Protocol
- Wormhole token bridge — Solana side
- Reported loss
- 120,000 wETH minted on Solana without collateral (≈ $326M); 93,750 bridged to Ethereum WormholeCertiKDefiLlama
- Root cause
- Verification flaw — the Solana contract's verify_signatures accepted a fake 'instructions sysvar' account, so guardian signatures were never really checked CertiKKudelski Security
- Chains
- Solana, Ethereum
- Recovery
- Users made whole
- Official post-mortem
- Wormhole Incident Report 02/02/22
Timeline
All dates and times in UTC.
- 2022-02-02 — Attacker calls verify_signatures with a spoofed sysvar account, then posts a forged VAA and mints 120,000 wETH on Solana. CertiK
- 2022-02-02 — 93,750 wETH redeemed for ETH on Ethereum; Wormhole takes the network down. Kudelski Security
- 2022-02-03 — Patch deployed, 120,000 ETH replenished, network back online. Wormhole
Where did the funds go, and was anything recovered?
Jump Crypto, Wormhole's backer at the time, replaced the 120,000 ETH so that wETH on Solana stayed fully backed; the network came back online on 3 February (Wormhole incident report). The attacker's ETH was not returned in the sources we checked.
Which routes and bridges were affected?
The Ethereum ↔ Solana wETH route of the Wormhole token bridge was affected; Wormhole paused the network until the fix. Mayan, which we review, builds on Wormhole messaging today; it did not exist in its current form in 2022 and is linked only because it shares the guardian layer.
Our reviews of the bridges involved: Mayan
Why did it happen?
Wormhole's guardians sign messages (VAAs) that the destination contract must verify. On Solana, signature checks are done by a native program, and a contract proves that check happened by reading the special "instructions sysvar" account. Wormhole's verify_signatures used a deprecated helper that loaded the instruction data from whatever account was passed in, without confirming that the account really was the sysvar. The attacker passed an account they had crafted to look like a successful signature check, so the contract recorded guardian approval that never occurred, and the forged VAA minted 120,000 wETH (CertiK; Kudelski Security).
The guardian set itself — 19 independent operators — was never compromised. That is the key distinction: a strong validator set gives no protection if the on-chain code that checks their signatures can be tricked.
Recovery was not a protocol feature; it came from a well-funded backer choosing to absorb the loss.
The attack also shows why non-EVM code needs its own review. Solana's account model passes every account a program reads as an explicit input, so a program must check each account's identity itself; EVM developers used to implicit context can easily miss that. Bridges that span different virtual machines double the surface where such assumptions can break.
What should users have done then, and what should they do now?
At the time
Holders of Wormhole wETH on Solana faced a possible depeg until Jump's replenishment was announced. The cautious step was not to sell wETH at a discount in the first hours, and not to bridge new funds until Wormhole confirmed the patch and the backing.
Now
Wormhole messages now need 13 of 19 guardian signatures (L2Beat), and the network is used by bridges such as Mayan. When a bridge relies on an external messaging layer, its risk card should show both layers; ours does. Check that a bridge's contracts are verified and that it publishes audits for chain-specific code, especially on non-EVM chains.
Sources
5 independent publishers. Links checked on the date shown.
- Wormhole Incident Report 02/02/22 — Wormhole · Official · checked
- Wormhole Bridge Exploit Incident Analysis — CertiK · Security firm · checked
- Quick Analysis of the Wormhole Attack — Kudelski Security · Security firm · checked
- Mayan — interop protocol page (Wormhole guardian threshold) — L2Beat · Database · checked
- DefiLlama Hacks — Wormhole, 2022-02-02 — DefiLlama · Database · checked
How do I cite this page?
Burn, A. / upswap.io (2026). Wormhole incident (2022-02-02). Updated 2026-10-24. https://upswap.io/incidents/wormhole-2022#summary. CC BY 4.0. Accessed ____.
Stable anchors: #summary #facts #timeline #funds #affected #analysis #then #now #sources #cite
