Skip to content

Bump Helios off jsonrpsee 0.19 / rustls 0.21 to clear the webpki + hickory advisory ignores #51

Description

@hellno

Goal

Modernize the Helios light-client dependency stack so we can remove the transitive advisory ignores from deny.toml at the source, instead of carrying them.

This is the one remaining piece of the supply-chain hardening from #40 (the cargo-deny gates themselves are now blocking and green — see #41/#42/#43). It's split out here because it's a self-contained upstream-dependency bump, well-scoped for someone to pick up and take to Helios upstream.

The ignores we want to delete

These live in deny.toml (currently lines ~26–38) and all ride the Helios → jsonrpsee 0.19rustls 0.21rustls-webpki 0.101 stack (plus reqwest's resolver for the DNS pair):

rustls-webpki 0.101 — TLS path-validation

  • RUSTSEC-2026-0098 — URI name-constraint bypass
  • RUSTSEC-2026-0099 — wildcard-cert name-constraint bypass
  • RUSTSEC-2026-0104 — reachable panic in CRL parsing (we don't use CRLs)

hickory DNS — DoS (via reqwest resolver)

  • RUSTSEC-2026-0118 — NSEC3 closest-encloser unbounded loop
  • RUSTSEC-2026-0119 — O(n²) name-compression CPU exhaustion

rustls-pemfile

  • RUSTSEC-2025-0134 — unmaintained

Why the obvious fix doesn't work

rustls 0.21 caps rustls-webpki at 0.101, so cargo update -p rustls-webpki can't fix it. The real fix is bumping Helios to a newer jsonrpsee (on rustls 0.23). That's a jsonrpsee 0.19 → 0.2x jump which crosses the hyper 1.0 boundary — scope it carefully; it may need upstream changes in Helios.

Folding Helios/reqwest onto rustls-tls (away from native-tls) in the same pass would also drop the openssl ban exception.

Severity context (why these are accept-for-now, not fund-theft holes)

Custody never rests on TLS: Helios proof-checks every read against the consensus sync committee, signing is local in deckard-signerd, and a signed tx is self-authenticating. The webpki/hickory advisories are liveness / defense-in-depth on the transport, not custody paths. That's why they're safely ignored today — but the ignores should have an exit.

Done when

  • Helios is bumped to a jsonrpsee/rustls 0.23 stack (upstream PR if needed).
  • The rustls-webpki, hickory, and rustls-pemfile ignore entries are removed from deny.toml.
  • cargo deny check advisories stays green without them.
  • Bonus: openssl ban exception dropped if the stack moves to rustls-tls.

Context: docs/AGENTIC-ENGINEERING.md §4. Split out from #40.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions