pNetwork Hack

Reported loss $12.7M
BNB Chain Bitcoin
Crafted peg-out event processing

What happened

On September 19, 2021, an attacker drained 277 BTC, most of the collateral behind pBTC on BNB Smart Chain, from pNetwork's pBTC-on-BSC bridge. Reported values range from about $12.4 million to over $13 million. The bug sat in pNetwork's off-chain Rust code that read peg-out event logs from BSC: it did not check that a peg-out event was emitted by pNetwork's own contract, so events from the attacker's contracts were treated as genuine withdrawal requests.

pNetwork said its other bridges were not affected, paused and patched the bridge, and offered a $1.5 million bounty for the return of the funds.

Technical root cause

Bridge node event extraction accepted maliciously crafted peg-out log sequences as valid withdrawal requests. Cross-chain relayers must validate event origin, event type, ordering, and the complete semantic preconditions for a withdrawal; parsing a log successfully is not proof that it represents an authorized bridge action.

How it happened

  1. pNetwork's bridge released BTC on the Bitcoin side when its nodes saw a peg-out (redeem) event for pBTC in a BSC transaction's logs.
  2. The attacker deployed contracts that emitted events shaped like pNetwork peg-out requests, alongside a legitimate peg-out in the same transaction.
  3. The Rust log-processing code collected every matching event in the receipt without checking which contract address emitted it.
  4. The bridge treated the spoofed events as real redemptions and released BTC from the pBTC-on-BSC collateral to the attacker, 277 BTC in total.

Protocol details

Classification Cross-chain Bridge / Event Validation
Protocol Type Bridge
Category Bridge Hack
Affected asset / contract PNT
Implementation language Rust
Protocol links Website @pNetworkDeFi

Security review history

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.