Cross-chain bridges have been responsible for over $2.5 billion in losses since 2021. They remain the single most dangerous category of smart contract infrastructure in Web3 — and in 2026, they're more complex than ever.
This is a deep dive into the major bridge hacks, the vulnerability patterns they share, and what security researchers and developers should be watching for today.
Why Bridges Are the Hardest Problem in Crypto
A bridge does something fundamentally difficult: it makes two blockchains that don't trust each other agree on what happened. Every bridge must solve three problems:
- Verification — How do you prove that something happened on Chain A?
- Transport — How do you relay that proof to Chain B?
- Execution — How do you act on that proof securely?
Every bridge hack exploits a failure in one of these three layers. Let's look at the biggest ones.
The Big Three: Anatomy of Billion-Dollar Failures
Ronin Bridge — $625M (March 2022)
What happened: North Korea's Lazarus Group compromised 5 of 9 validator private keys in Axie Infinity's Ronin bridge.
Root cause: Centralized validation. The bridge used a simple multisig with 9 validators, and the threshold was 5/9. Four of those validators were controlled by a single entity (Sky Mavis), and a fifth had given signing permission to Sky Mavis months earlier during a traffic spike — and never revoked it.
Attack vector: Social engineering + key compromise. Once the attacker had 5 keys, they simply signed fraudulent withdrawal transactions.
Vulnerability pattern: Insufficient decentralization in the verification layer.
Trust model: 5-of-9 multisig
Actual trust: 5 keys controlled by ~2 entities
Effective security: 1 compromise away from total loss
Lesson: The security of a multisig isn't threshold/total — it's determined by the independence of the signers. If signers share infrastructure, personnel, or operational processes, they're effectively one signer.
Wormhole — $320M (February 2022)
What happened: An attacker minted 120,000 wETH on Solana without depositing any ETH on Ethereum.
Root cause: A signature verification bypass. The Wormhole contract on Solana used a deprecated verify_signatures system program. The attacker crafted a fake "guardian set" by exploiting how the contract loaded and verified the guardian signatures.
The technical breakdown:
- The
verify_signaturesinstruction was supposed to check that messages were signed by legitimate guardians - The attacker found they could inject a malicious
sysvaraccount that the contract would accept as the real instruction sysvar - This let them forge the signature verification and make the contract believe a fraudulent message was legitimately signed
- With a "verified" message, they called
complete_transferto mint 120,000 wETH
Vulnerability pattern: Insufficient input validation in the verification layer.
The fix was straightforward — use get_instruction_sysvar instead of trusting a passed-in account — but the damage was already done.
Lesson: Bridge verification logic is the most security-critical code in all of Web3. Every input to the verification function must be treated as adversarial. There is no room for deprecated APIs, unchecked parameters, or assumptions about calling context.
Nomad — $190M (August 2022)
What happened: The most democratic hack in crypto history. After one attacker found the vulnerability, hundreds of copycats replicated the exploit by simply replacing the destination address.
Root cause: A routine upgrade introduced a bug where the zero hash (0x00) was set as a trusted root in the Merkle tree. This meant that any message — even completely fabricated ones — passed the verification check.
The devastating simplicity:
// The problematic code (simplified)
function process(bytes memory _message) public {
bytes32 _messageHash = keccak256(_message);
// After the upgrade, confirmAt[0x00] was set to 1
// Any message with a fabricated root of 0x00 was accepted
require(acceptableRoot(messages[_messageHash]));
// ... process withdrawal
}
An attacker could copy a legitimate transaction, replace the recipient address with their own, and submit it. The zero root meant it was automatically "verified."
Vulnerability pattern: Initialization error in the verification layer.
Lesson: Upgrade processes are attack vectors. The bug wasn't in the original code — it was introduced during a migration. Every upgrade that touches verification or trust parameters needs the same level of scrutiny as the initial deployment.
Vulnerability Pattern Taxonomy
After studying every major bridge hack, I've categorized the attack surfaces into five patterns:
Pattern 1: Verification Bypass
Examples: Wormhole, Nomad, Qubit
The bridge accepts a message as legitimate when it shouldn't. This is the most common and most devastating pattern.
What to audit:
- Signature verification: Is every byte of the signed message checked?
- Merkle proof verification: Are proofs validated against a known-good root?
- Guardian/validator sets: Can they be manipulated or injected?
- Zero values: Does the system handle empty/zero inputs safely?
Pattern 2: Key Compromise
Examples: Ronin, Harmony Horizon, Multichain
The verification logic is correct, but the keys that authorize messages are stolen or compromised.
What to audit:
- Key management: HSMs, MPC, or hot wallets?
- Signer independence: Are validators truly independent entities?
- Key rotation: How quickly can compromised keys be revoked?
- Threshold analysis: What's the minimum collusion set?
Pattern 3: Accounting Errors
Examples: Thorchain (multiple), Meter.io
The bridge correctly verifies that a deposit happened but miscalculates the amount, the asset, or the recipient.
What to audit:
- Token decimal handling across chains (18 vs 6 vs 8 decimals)
- Native token vs wrapped token confusion
- Fee calculation and deduction
- Rounding in cross-chain amount conversion
Pattern 4: Replay Attacks
Examples: Various smaller bridges
A legitimate message is processed multiple times, allowing double-spending.
What to audit:
- Nonce management: Is every message uniquely identified?
- State tracking: Are processed messages marked permanently?
- Cross-chain finality: What happens during reorgs?
Pattern 5: Upgrade/Governance Attacks
Examples: Nomad (indirectly), various proxy attacks
The bridge is compromised through its governance or upgrade mechanism rather than its operational logic.
What to audit:
- Timelock on upgrades: Can critical parameters be changed instantly?
- Proxy patterns: Are implementation contracts properly secured?
- Governance thresholds: Who can push an upgrade?
The 2026 Landscape: What's Changed?
Light Client Bridges
The industry is moving toward light client verification — running a lightweight consensus client of the source chain on the destination chain. This removes the need to trust external validators.
Security implications:
- Stronger verification guarantees (trustless, mathematically proven)
- New attack surface: light client implementation bugs
- Gas costs push some implementations to cut corners on verification
- ZK-based light clients introduce new cryptographic assumptions
Intent-Based Bridges
Protocols like Across and newer intent-based architectures flip the model: instead of lock-and-mint, users express intent and solvers compete to fill orders.
Security implications:
- Reduced bridge TVL (less locked value to steal)
- Solver incentive alignment becomes critical
- Settlement layer security replaces bridge security
- New MEV and front-running considerations
ZK Bridges
Zero-knowledge proof bridges verify state transitions cryptographically. Rather than trusting validators, they prove mathematically that a transaction occurred.
Security implications:
- Cryptographic assumptions replace trust assumptions
- Proving system bugs (soundness failures) would be catastrophic
- Verifier contract complexity introduces smart contract risk
- Longer finality times create temporary vulnerability windows
Restaking-Secured Bridges
EigenLayer and similar restaking protocols now secure bridge validation. Validators stake ETH that gets slashed if they approve fraudulent messages.
Security implications:
- Economic security scales with stake, not validator reputation
- Slashing mechanism correctness is critical (see rounding bugs!)
- Correlation risk if the same stake secures multiple bridges
- Capital efficiency vs security tradeoffs
Auditor's Checklist: Bridge-Specific Review
If you're auditing a bridge, here's the minimum checklist:
Verification Layer
- [ ] All signed message fields are included in the hash
- [ ] Signature scheme is correctly implemented (EIP-712, EdDSA, etc.)
- [ ] Guardian/validator set changes are properly secured
- [ ] Zero/null values don't bypass verification
- [ ] Replay protection with unique message identifiers
Transport Layer
- [ ] Message format is unambiguous (no field confusion)
- [ ] Source chain finality is respected before processing
- [ ] Relayer can't modify messages in transit
- [ ] Failed deliveries are handled without fund loss
Execution Layer
- [ ] Token amounts are correctly converted between chains
- [ ] Decimal normalization is correct for all supported tokens
- [ ] Rate limiting on withdrawals (circuit breaker)
- [ ] Emergency pause mechanism exists and is tested
- [ ] No reentrancy in token transfer callbacks
Operations
- [ ] Upgrade process includes timelock and multi-approval
- [ ] Key rotation procedure is documented and tested
- [ ] Monitoring and alerting for anomalous transactions
- [ ] Incident response plan exists
Predictions: Where the Next Bridge Hack Will Come From
Based on current trends, here's where I'd focus attention:
ZK verifier bugs — As ZK bridges proliferate, a soundness bug in a proving system would be catastrophic. These are incredibly hard to audit and few people have the expertise.
Cross-chain MEV exploitation — As intent-based bridges grow, the MEV surface expands across chains. Solver collusion and sandwich attacks across chains are understudied.
Governance attacks on bridge parameters — Rather than attacking the bridge code, attacking the governance that controls it. Cheaper and harder to detect.
AI-assisted social engineering — The Ronin attack used social engineering. With AI, these attacks scale dramatically. A deepfaked video call with a "CTO" requesting key access is no longer science fiction.
Restaking correlation failures — If the same restaked ETH secures multiple bridges, a coordinated attack could drain several bridges simultaneously before slashing kicks in.
Conclusion
Cross-chain bridges are getting more sophisticated, but so are the attacks. The $2.5B already lost is a lesson written in real money.
For developers: defense in depth is not optional. Rate limiting, circuit breakers, monitoring, and formal verification are table stakes in 2026.
For auditors: bridge audits require a different mindset than single-chain DeFi. You're auditing distributed systems, not just smart contracts. Think about consensus, finality, key management, and game theory — not just Solidity patterns.
For the industry: the future is probably a mix of ZK verification for security and intent-based architectures for UX. The bridges that survive will be the ones that treat security as their primary product, not an afterthought.
At Hashlock, we've audited cross-chain messaging protocols, bridge contracts, and restaking integrations. If your bridge moves other people's money between chains, we'd like to make sure it does that correctly.
Building or auditing a bridge? I'd love to hear what security patterns you've found most effective — drop them in the comments.
Top comments (0)