Overview
Important
This is a strongly recommended release for all op-node operators. It contains security fixes for the compromised eMudhra certificate authority (CVE-2026-111943) and other Go standard-library security fixes, a fix for the sequencer's L1 origin falling behind L1 on chains whose L2 block time is more than half the L1 block time (more than 6 seconds on Ethereum), support for beacon nodes that publish the slot duration only as SLOT_DURATION_MS, and a startup fix for L1 clients that have pruned history.
This release includes the changes tagged as op-node/v1.19.10, which was not published separately.
Other changes
Sequencer
- On chains whose L2 block time is more than half the L1 block time, the sequencer's L1 origin now keeps pace with L1. Previously it advanced at most once every two L2 blocks, so on a 10-second chain it drifted back to the max sequencer drift, about 30 minutes behind the L1 head instead of the confirmation depth. That delayed deposits by about 30 minutes, left the L1 fee parameters in the L1 block info about 30 minutes stale, and made the batcher exceed
max-channel-durationimmediately and post many single-block batches. Chains with shorter block times are unaffected. With--sequencer.l1-confs=0, the fix costs at most one extra by-number L1 request per unsafe or safe head update; with a non-zero confirmation depth it costs none in steady state (#23279)
L1
- op-node now reads the beacon slot duration from
SLOT_DURATION_MSin the beacon node's/eth/v1/config/spec, falling back toSECONDS_PER_SLOT. It can therefore fetch blobs from beacon nodes that no longer serveSECONDS_PER_SLOT, which the consensus specs have replaced and which Teku already omits on some custom networks. Nothing changes with beacon nodes that serve either key. If neither key is served, op-node fails with an error naming both.--l1.beacon.slot-duration-overridestill takes precedence (#23138)
Bug fixes
- op-node no longer fails to start with
failed to get L1 genesis blockhash: pruned history unavailablewhen its L1 execution client has pruned the rollup's L1 genesis block and answers with the history-pruned JSON-RPC error4444, asreth --minimaldoes. The L1 genesis hash check is now skipped with anL1 genesis block not available, skipping validity checkwarning, as it already was for clients that report the block as not found (#23331)
Security
- The image is built with Go 1.26.10, up from 1.26.8. Go 1.26.10 makes
crypto/x509reject the compromised eMudhra intermediate certificates (CVE-2026-111943), and Go 1.26.9 includes security fixes to thecrypto/tls,html/template,net/http,net/textprotoandospackages (#23290, #23546) - The image's CA trust store (
ca-certificates-bundle20260909-r3) no longer includes the eMudhra emSign Root CA G3, C1 and C3 roots (#23566)
Full Changelog: op-node/v1.19.9...op-node/v1.19.11
🚢 Docker Image: