User-agent signing endpoint accepts arbitrary client_id #64

Open
opened 2026-04-05 16:23:07 +00:00 by Skipper · 0 comments
Owner

Info

Severity: MEDIUM
Attack vector: local malicious process

Impact

Allows a compromised or partially malicious user-agent process to route signing through another approved SDK client's grants.

Description

The user-agent SignTransaction endpoint takes client_id directly from the request payload and forwards it into the signing path without an intent check, consent flow, or binding to a previously selected client context. A compromised user-agent frontend can therefore impersonate any approved SDK client for signing purposes.

Example flow

  1. Send a user-agent SignTransaction request.
  2. Set client_id to another approved SDK client.
  3. Let the server forward that identifier unchanged into ClientSignTransaction.
  4. Obtain a signature evaluated under the other client's grants.

Mitigation

Bind signing requests to an explicit approved client selection, verify that selection before forwarding, and add audit logging for cross-client signing.

# Info **Severity**: **MEDIUM** Attack vector: local malicious process ## Impact Allows a compromised or partially malicious user-agent process to route signing through another approved SDK client's grants. ## Description The user-agent `SignTransaction` endpoint takes `client_id` directly from the request payload and forwards it into the signing path without an intent check, consent flow, or binding to a previously selected client context. A compromised user-agent frontend can therefore impersonate any approved SDK client for signing purposes. ## Example flow 1. Send a user-agent `SignTransaction` request. 2. Set `client_id` to another approved SDK client. 3. Let the server forward that identifier unchanged into `ClientSignTransaction`. 4. Obtain a signature evaluated under the other client's grants. ## Mitigation Bind signing requests to an explicit approved client selection, verify that selection before forwarding, and add audit logging for cross-client signing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MarketTakers/arbiter#64