Incident · Configuration / trust setup

KelpDAO rsETH bridge (LayerZero) incident, 2026-04-18

Updated

What happened to KelpDAO rsETH bridge (LayerZero)?

On 18 April 2026 attackers attributed to North Korea's TraderTraitor (UNC4899, Lazarus) forged a LayerZero message and released 116,500 rsETH (≈ $292M) from KelpDAO's bridge on Ethereum. The bridge relied on a single verifier, and the attackers fed that verifier false data from compromised RPC nodes.

Sources: LayerZero LabsChainalysisAave governance forumL2Beat

Key facts

Date (UTC)
Protocol
KelpDAO's rsETH bridge built on the LayerZero messaging protocol (single LayerZero Labs DVN configuration)
Reported loss
116,500 rsETH (≈ $292M) LayerZero LabsChainalysisDefiLlama
Root cause
Configuration / trust setup — rsETH used a single required verifier (1-of-1 DVN); attackers poisoned LayerZero Labs' internal RPC nodes and DDoS'd the external one, so the DVN attested a forged Unichain→Ethereum message LayerZero LabsChainalysis
Chains
Ethereum, Unichain, Arbitrum
Recovery
Partly recovered
Official post-mortem
LayerZero Labs KelpDAO Incident Report

Timeline

All dates and times in UTC.

  1. 2026-03-06 — Breach begins: a LayerZero Labs developer is socially engineered; attacker pivots into the RPC cloud environment. LayerZero Labs
  2. 2026-04-18 — RPC nodes return tampered data to the DVN while an external RPC is DDoS'd; forged message releases 116,500 rsETH on Ethereum. KelpDAO pauses, blocking a further ≈ $95M. Chainalysis
  3. 2026-04-18 — Aave's Protocol Guardian freezes rsETH/wrsETH reserves on all V3 deployments. Aave governance forum
  4. 2026-04-21 — Arbitrum Security Council freezes ≈ 30,766 ETH of the attacker's funds on Arbitrum. L2Beat
  5. 2026 — LayerZero Labs incident report: attribution to TraderTraitor/UNC4899 (Mandiant, CrowdStrike); DVN refuses to be sole required attestor on any channel. LayerZero Labs

Where did the funds go, and was anything recovered?

KelpDAO paused its contracts in time to block a second attempt of about $95M, and three days after the hack the Arbitrum Security Council, coordinating with law enforcement, froze more than 30,000 ETH of the attacker's downstream funds (Chainalysis). L2Beat records the Security Council action on 21 April 2026 (L2Beat).

Lending markets that accepted rsETH as collateral had to react: Aave froze rsETH and wrsETH reserves across all V3 deployments on 18 April and later froze WETH on several markets (Aave governance). How the remaining loss is allocated among rsETH holders was not settled in the sources we checked.

Which routes and bridges were affected?

The affected route was rsETH moving into Ethereum through KelpDAO's LayerZero OApp. LayerZero Labs says no other OApps, channels or transactions were compromised (LayerZero). Stargate, which also runs on LayerZero and is reviewed on this site, was not attacked; it is linked here because it shares the messaging layer and the LayerZero Labs DVN changed its signing policy for all channels afterwards.

Our reviews of the bridges involved: Stargate

Why did it happen?

LayerZero lets each application choose which Decentralized Verifier Networks must attest a message. KelpDAO's rsETH channel required just one — LayerZero Labs' own DVN. That DVN decides whether a burn happened on the source chain by asking RPC nodes. The attackers spent six weeks inside LayerZero Labs' cloud, patched two internal RPC nodes to give the monitoring tools correct answers but give the DVN a fake Unichain burn, and knocked the external RPC provider offline so the DVN had to rely on the poisoned nodes (LayerZero). Every on-chain step then looked valid: the message was signed by the one verifier the app had asked for (Chainalysis).

Two design choices compounded each other: a 1-of-1 verifier set, and a verifier whose view of the source chain came from infrastructure that could be quietly altered. Neither is a smart-contract bug, which is why audit-focused tooling missed it. The control that would have caught it is a cross-chain invariant — tokens released on Ethereum must match tokens burned elsewhere — checked from independent infrastructure.

The incident also travelled: rsETH was collateral on lending markets, so Aave had to freeze reserves to contain bad debt, and holders of rsETH who never bridged anything were exposed to the loss allocation.

The fix is cheap compared with the loss: requiring two independent DVNs would have forced the attacker to compromise a second operator's infrastructure.

What should users have done then, and what should they do now?

At the time

Once the alert went out, rsETH holders could do little on-chain; the useful steps were to stop bridging rsETH, avoid borrowing against it, and watch Aave and KelpDAO announcements for the loss-allocation decision rather than selling into a thin market on rumours.

Now

For any token bridged through LayerZero, check how many DVNs its channel requires — LayerZero Labs now refuses to be the only one, but other apps may still use small verifier sets. Prefer bridges whose security does not rest on a single operator's servers, and remember that a token's bridge risk follows it into DeFi collateral.

What is still unverified?

  • 待核实 Final loss allocation among rsETH holders and status of the frozen ETH.

Sources

5 independent publishers. Links checked on the date shown.

  1. LayerZero Labs KelpDAO Incident Report — LayerZero Labs · Official · checked
  2. KelpDAO bridge exploit (April 2026) — Chainalysis · Analytics · checked
  3. rsETH Incident Report — April 20, 2026 — Aave governance forum · Official · checked
  4. Arbitrum One — project page (Security Council action, 2026-04-21) — L2Beat · Database · checked
  5. DefiLlama Hacks — KelpDAO, 2026-04-18 — DefiLlama · Database · checked

How do I cite this page?

Burn, A. / upswap.io (2026). KelpDAO rsETH bridge (LayerZero) incident (2026-04-18). Updated 2026-10-24. https://upswap.io/incidents/kelpdao-2026#summary. CC BY 4.0. Accessed ____.

Stable anchors: #summary #facts #timeline #funds #affected #analysis #then #now #sources #cite