Skip to content

fix(rpc): restrict node RPC to eth,net,web3 instead of all namespaces (Veridise 1202)#34

Open
HenryMBaldwin wants to merge 1 commit into
mainfrom
hbai__restrict-rpc-namespaces
Open

fix(rpc): restrict node RPC to eth,net,web3 instead of all namespaces (Veridise 1202)#34
HenryMBaldwin wants to merge 1 commit into
mainfrom
hbai__restrict-rpc-namespaces

Conversation

@HenryMBaldwin

@HenryMBaldwin HenryMBaldwin commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Veridise 1202 — excessively permissive RPC configuration

deploy_gcp/templates/supervisor.conf launched seismic-reth with --http.api all and --ws.api all, exposing every namespace — admin, debug, trace, txpool, ots, flashbots, mev — on the public RPC surface (the admin namespace's mutating methods like addPeer were confirmed reachable).

Change

Replace all with an explicit allowlist eth,net,web3 on both HTTP and WS.

Why this is safe

  • Client encryption unaffected: the seismic namespace (seismic_getTeePublicKey) and the Seismic eth_ overrides (call/estimateGas/simulateV1/sendRawTransaction) are registered via merge_configured/replace_configured in seismic-reth, which merge into HTTP/WS regardless of --http.api. So they remain available with the restricted allowlist.
  • Consensus unaffected: summit talks to the engine API over --auth-ipc, not the public HTTP/WS surface.
  • Drops public exposure of admin/debug/trace/ots/txpool, which also removes the reachable surface behind related trace-leak findings (1085, 1207).

Scope — other 1202 flags NOT changed here

These are pinned in supervisor.conf and remain unchanged by this PR. They were intentionally left out to keep this change to the single highest-value, lowest-risk fix — not because they've been reviewed and deemed acceptable. Each still warrants a separate decision:

  • --rpc.enable-storage-apis — re-enables eth_getStorageAt/eth_getFlaggedStorageAt. Note private storage values are already redacted to zero in seismic-reth regardless of this flag, so this is a storage-layout/metadata concern (which slots are private) rather than a value leak.
  • --http.corsdomain * / --ws.origins * — wildcard browser origins. Lower risk now that the namespace set is restricted to read methods, but dropping it can break legitimate browser dapps; needs frontend/ops input.
  • --http.addr/--ws.addr 0.0.0.0 — wide bind is intentional for a public RPC node.

Replaces --http.api all / --ws.api all with an explicit allowlist so admin,
debug, trace, txpool, and ots are no longer exposed on the public RPC surface
(Veridise 1202). The seismic namespace (getTeePublicKey) and Seismic eth_
overrides are force-merged in seismic-reth regardless of --http.api, so client
encryption is unaffected; summit talks to the engine API over --auth-ipc, so
consensus is unaffected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant