Back to all stories
Reports
Incident Analysis
Poly Network Incident Analysis
7/3/2023
Poly Network Incident Analysis

Introduction

On 1 July 2023, Poly Network was exploited by an attacker that was able to issue themselves $42 billion worth of assets across multiple chains. Despite the enormous amount of assets issued, a lack of liquidity and token freezes prevented the attacker from collecting more than ~$10 million across five externally owned addresses. The attack on Poly Network is the first cross-chain bridge attack in 2023, and the second targeting Poly Network. Bridge attacks in 2022 accounted for 35% of the $3.7 billion total lost that year. While on paper this incident appears to represent the largest crypto exploit of all time, the realized profit is in fact much lower.

Event Summary

At 06:47 PM UTC on 1 July, 2023 a malicious actor initiated several cross-chain bridge transactions that led to assets being transferred from Poly Network’s lock proxy contracts to the attacker's address. On paper, the attacker acquired over $42 billion worth of crypto assets on 10 blockchains.

image-20230702-131254 Image: Poly Network attacker’s wallet. Source: Debank

However, this figure is misleading. For example, the exploiter held over $34 billion Poly-pegged BNB and BUSD on the Metis blockchain but, due to a lack of liquidity, the tokens cannot be sold. Metis later confirmed in a tweet that the BNB and BUSD that had been minted had no sell liquidity available – rendering the tokens worthless.

Similarly, a large quantity of the remaining tokens has also been rendered worthless as, after hearing about the incident and the tokens that had been issued by the attacker, several projects removed liquidity to prevent a token dump and crash in price. For example, OpenOcean, StackOS, Revomon and NEST all removed liquidity from their projects to prevent the attacker from selling.

image-20230702-133713Revomon on Twitter

While the $42 billion figure is not an accurate reflection of the losses in this incident, CertiK has confirmed that at least $10 million is being held in five wallets on the Ethereum network.

Cross-Chain Bridge Exploits

In 2022, $1.3 billion was lost due to security incidents affecting cross-chain bridges. Cross-chain bridge exploits can lead to extremely high losses – illustrated by the fact that the $1.3 billion lost came from just five incidents. Malicious actors target this infrastructure due to the complexity of securing them, the value held by these bridges, and the variety of attack vectors that are present. Cross-chain bridges can include various components such as custodians, debt issuers, and oracles among others. Due to the amount of funds locked in bridges, any misconfiguration, bugs, or compromises can lead to severe losses.

Attack Flow

Poly Network use a ‘Lock’ and ‘Unlock’ feature in order to bridge assets between networks. A user must first lock tokens on the source chain for them to be unlocked on the destination chain.

This example is based on a cross chain transfer from BSC to ETH.

  1. The attacker started by calling the Lock function on the BSC network to initiate a cross-chain transfer of a small amount of 8PAY tokens.

image-20230703-130217 Image: Attacker initiates a cross-chain transfer with a small amount of 8PAY. Source: Etherscan

In this transaction the data is specified as “0x4a14feea0bdd3d07eb6fe305938878c0cadbfa16904214e0afadad1d93704761c8550f21a53de3468ba599e803000000000000000000000000000000000000000000000000000000000000”

The starting bytes, 0x4a, indicate the length of the data.

  1. The attacker called EthCrossChainManager.verifyHeaderAndExecuteTx() which called the corresponding UnlockEvent. The transaction data has now changed. “0x14feea0bdd3d07eb6fe305938878c0cadbfa16904214e0afadad1d93704761c8550f21a53de3468ba59900e00fc80b54905e35ca0d000000000000000000000000000000000000000000”

In the transaction we can see there is a change to the number of 8pay tokens which has considerably increased. image-20230703-130747

  1. The attacker repeated the above steps for a total of 57 tokens, spanning 11 different blockchains, gaining assets with a paper value of approximately $42 billion.

image-20230702-153712

Image: Poly Network attacker unlocked tokens on Ethereum. Source: Etherscan

Asset Tracing

On the Ethereum network, the attacker was able to swap some of the tokens for ETH. The swaps include: Screenshot 2023-07-03 at 12.19.59 PM

The attacker also transferred 1,592 ETH (~$3.05 million) during the exploit in this transaction. The attacker split 2,240 ETH across 3 externally owned accounts (EOAs). Additionally the exploiter also gained 3,012,185 USDC and 2,651,957 USDT which was swapped for 1,557 ETH and 1,371 ETH respectively.

Screenshot 2023-07-03 at 12.22.22 PM

As of writing the ETH remains in the 5 EOAs.

The attacker transferred a number of the remaining assets along with 1 ETH each to new EOAs, though they are yet to swap those tokens. Some of the tokens have since become worthless after the project owners removed liquidity from the tokens to prevent a token dump. So far the attacker only seems to have been able to extract approximately $10 million from the incident.

image-20230702-162234 Image: Poly Network attacker transferring assets and 1 ETH to new EOAs

Conclusion

In 2022, the Web3 ecosystem saw how devastating cross-chain bridge attacks can be with security incidents affecting Ronin Bridge, Wormhole, Nomad, and more. Initial detections of the Poly Network incident indicated that this was the largest security incident that the Web ecosystem had ever experienced, but due to a lack of liquidity backing newly-minted tokens, the losses have been limited to approximately $10 million at the time of writing. There is no current consensus on exactly how the attacker in this case was able to exploit the Poly Network. However, initial indicators suggest a private key compromise or off-chain exploit were likely used due as the on-chain functions were performing as intended.

;