Repository navigation
signer: Bind request-context signatures to RPC methods - #761
Open
ihordiachenko wants to merge 1 commit into
Open
ihordiachenko wants to merge 1 commit into
ihordiachenko wants to merge 1 commit into
Conversation
Sign the URI together with the gRPC frame and timestamp in a shared, versioned payload. This prevents a backend from relabeling authentic commands as different RPCs with compatible protobuf encodings. Validate Configure close addresses against the signer network before updating the allowlist. Invalid and legacy contexts remain ignored so they cannot authorize operations or block unrelated signing. The signature format is incompatible with older clients and signers; document the coordinated upgrade and cached Configure limitations.
ihordiachenko
force-pushed
the
fix/927-bind-request-context-uri
branch
from
November 3, 2026 18:50
a2b4f8c to
cd9977d
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #927.
Request-context signatures previously covered the gRPC frame and timestamp, leaving the RPC URI unsigned. A malicious backend could relabel a signed request as another method whose protobuf encoding is compatible, turning it into unintended payment or configuration authorization.
The fix uses a shared, versioned payload covering the full URI, frame, and timestamp. A domain tag and explicit lengths make the encoding unambiguous. The signer also validates Configure close addresses against its network before updating the allowlist.
Design decisions and tradeoffs: