Ankr Bridge Drained as Five Forged Withdrawals Pass Signature Checks
SECURITY

Ankr Bridge Drained as Five Forged Withdrawals Pass Signature Checks

Image Credit: ankr.com

Ankr’s Ethereum bridge, which moves tokens between blockchain networks, lost an estimated $304,500 on Nov. 9. Blockchain security firm SlowMist said five forged withdrawal requests passed its trusted-signature checks.

The affected contract paused withdrawals later that morning. A recovery plan for the missing assets remains unconfirmed.

One Completed Deposit Became Five New Withdrawals

Blockaid raised the alarm at 08:42 UTC on Nov. 9, initially estimating that approximately $292,000 had been drained. It described the exploit as ongoing when it published the warning.

SlowMist followed at 09:14 UTC with its higher estimate and an explanation of the forged receipts. Both firms identified five withdrawal calls involving assets held in the Ethereum bridge.

The requests referenced one legitimate Optimism deposit but changed the recipients, tokens, and amounts. That allowed a small, previously completed transfer to become the basis for much larger withdrawals.

Public transaction records show those withdrawals succeeded between 08:09:35 and 08:11:59 UTC. The tokens went to the same receiving address, with each transaction releasing a different asset.

The original transfer involved just 0.0044024803 ankrETH. Ethereum records show that amount had already been paid out on Nov. 3, yet the attacker’s new requests referenced the same Optimism transaction six days later.

The ankrETH withdrawal alone was about 18,800 times the original deposit. Four other token balances were withdrawn as well.

The Signatures Passed, but the Receipts Were False

SlowMist identified valid authorization signatures on all five forged receipts. The requests changed the recipient, the token being withdrawn and the amount, while continuing to point to the original source-chain transaction. Highlighting the authorization failure, SlowMist stated:

“All receipts carried valid signatures from the bridge’s trusted consensus signer […].”

The bridge’s deployed code checks that a withdrawal points to the intended destination chain and an allowed source-chain contract. It then checks the signature against its designated signer before releasing funds.

There is also a safeguard against submitting an identical withdrawal proof twice. However, it tracks the signed proof, including the receipt’s contents. Altering those contents changes the proof being checked, even when the source transaction reference remains the same.

The contract therefore accepted five differently signed requests against a deposit that had already been used. Each altered receipt passed the authorization check, allowing assets to leave the Ethereum contract.

Withdrawals Removed Staking Tokens and Nearly 8 Million ANKR

The transfers removed approximately 82.91 ankrETH, Ankr’s liquid staking token for Ether, alongside about 515,206 of its Polygon staking tokens and 7.98 million ANKR.

Two further withdrawals took other Ankr staking assets: approximately 5,372.25 aPOLb and 0.8196 aETHb.

Users first deposit tokens on the sending network, then claim them on the receiving network. Completing the first step leaves them relying on the bridge to authorize and fund the corresponding payment at the other end.

The affected Ethereum contract holds inventory used to complete those transfers. Unauthorized withdrawals deplete that inventory, putting the ability to fulfill legitimate transfers at the center of the recovery effort.

Bridge Withdrawals Paused; Recovery Plan Unconfirmed

The affected Ethereum bridge contract paused withdrawals at 09:51:47 UTC on Nov. 9, according to its on-chain event log. The pause does not establish that the underlying vulnerability has been fixed.

SlowMist has not established how the attacker obtained the signatures or whether a signing key was compromised. Neither its analysis nor Blockaid’s initial alert set out a recovery plan.

More For You

Explore More News