Skip to content
Latest alertreth trie bug can make reth, op-reth and Base nodes compute wrong state roots, stall or serve incorrect state proofs
0xCERT
All advisories
High0xCERT-2026-0317·

reth trie bug can make reth, op-reth and Base nodes compute wrong state roots, stall or serve incorrect state proofs

A trie iterator bug in reth (fixed in PR #28264) can drop a leaf from incremental state-root calculations. Unpatched reth-based nodes may stall or return incorrect eth_getProof state proofs, and no loss of funds is known. Upgrade to reth v2.10.0, op-reth v2.8.1 or Base v1.5.3.

Vuln-watch · relayed from a public source; see Source & attribution below

Affected chainsEthereumBaseOptimismOther / Multi-chain

Summary

A correctness bug in reth's state-trie code can cause nodes running reth and reth-based clients (including op-reth and Base's node) to compute an incorrect state root. Blockaid warned on 5 November 2026 that unpatched nodes may stall or return incorrect state proofs (eth_getProof), and called it "a correctness bug, not an exploit", with no known loss of funds. The upstream fix, "fix(trie): tighten iterator seek boundary" (paradigmxyz/reth PR #28264), was merged on 3 November 2026.

Affected

  • reth before v2.10.0. A downstream backport note on PR #28264 (morph-reth) says "reth v1.3.5 through v2.9.0 can skip a hashed leaf inserted between a seek prefix and a deeper stored branch"; reth has not published an official affected-version range.
  • op-reth and other reth-based clients and forks that pin an unpatched reth-trie
  • Fixed in reth v2.10.0 (released 5 November 2026, update priority "High" for payload builders and non-payload builders), op-reth v2.8.1 and Base node-reth v1.5.3 (per Blockaid), and Base v1.5.3, whose release notes say it "Prevents a state root mismatch" (referencing Reth#28264). Celo (celo-kona) and Mantle (mantle-v1.6.3) have shipped backports.

Impact

Under specific trie conditions an incremental state-root calculation can drop a leaf, so the node computes a wrong state root. According to Blockaid, unpatched nodes may stall or serve incorrect state proofs. This matters for RPC providers, bridges and cross-chain messaging that rely on eth_getProof, for example OP Stack withdrawal proofs. Blockaid reports no known exploitation and no loss of funds. As precautions, LayerZero paused off-chain infrastructure on some affected chains until each chain confirms it is patched (messages "delayed, not lost", per Blockaid), and Gauntlet restricted V1 vault deposits and allocations.

Recommended actions

  • Node operators and RPC providers: upgrade to reth v2.10.0, op-reth v2.8.1, or Base v1.5.3, or apply your fork's backport of reth PR #28264.
  • Bridges, oracles and protocols that consume state proofs: confirm that your RPC providers run patched builds. Re-verify any proofs served by unpatched nodes in the meantime.
  • Maintainers of reth forks: pull in PR #28264 and its incremental-root regression test.

Source & attribution

This 0xCERT advisory summarises a warning by Blockaid (https://x.com/blockaid_/status/2118405438291198020). Blockaid's statements are quoted as reported by The Defiant and KuCoin News, because the X post could not be fetched directly. It also draws on the upstream fix https://github.com/paradigmxyz/reth/pull/28264 and the reth v2.10.0, op-reth v2.8.1 and Base v1.5.3 release notes. Details may change; refer to the original sources for the authoritative record.

OpenPGP-signed. The signed text of this advisory verifies against the 0xCERT key CCC7 D9EC 9415 723D.

Published 2026-11-05 · last updated 2026-11-06

curl -s https://www.0xcert.com/pgp.asc | gpg --import && curl -s https://www.0xcert.com/advisory/0xCERT-2026-0317/signed.txt | gpg --verify