Client identity rebinding #55

Closed
opened 2026-04-05 16:09:27 +00:00 by Skipper · 1 comment
Owner

Info

Severity: CRITICAL
Attack vector: offline

Impact

Allows an attacker to rebind client identity and inherit signing permissions associated with existing grants.

Description

Neither program_client nor evm_wallet_access is covered by an integrity envelope. This lets an attacker tamper with client identity or client-to-wallet bindings without invalidating grant verification.

Example flow

  1. Modify program_client.public_key to an attacker-controlled key, or change an existing evm_wallet_access.client_id to the attacker's client.
  2. Authenticate as that client.
  3. Reuse the existing wallet access and grants tied to the unchanged access row.
  4. Request signatures within the grant's limits.

Mitigation

Add integrity protection to both tables and verify integrity before authentication and before access checks.

# Info **Severity**: **CRITICAL** Attack vector: offline ## Impact Allows an attacker to rebind client identity and inherit signing permissions associated with existing grants. ## Description Neither `program_client` nor `evm_wallet_access` is covered by an integrity envelope. This lets an attacker tamper with client identity or client-to-wallet bindings without invalidating grant verification. ## Example flow 1. Modify `program_client.public_key` to an attacker-controlled key, or change an existing `evm_wallet_access.client_id` to the attacker's client. 2. Authenticate as that client. 3. Reuse the existing wallet access and grants tied to the unchanged access row. 4. Request signatures within the grant's limits. ## Mitigation Add integrity protection to both tables and verify integrity before authentication and before access checks.
CleverWild added the
Kind
Security
label 2026-04-05 16:09:54 +00:00
Author
Owner

#78

#78
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MarketTakers/arbiter#55