Skip to content

fix(security): timelock identity registry changes in CLPc#17

Merged
boris merged 1 commit intomainfrom
security/timelock-identity-registry-admin-action
Feb 23, 2026
Merged

fix(security): timelock identity registry changes in CLPc#17
boris merged 1 commit intomainfrom
security/timelock-identity-registry-admin-action

Conversation

@boris
Copy link
Copy Markdown
Collaborator

@boris boris commented Feb 19, 2026

Vulnerability

High risk: single-key admin could instantly switch identityRegistry in CLPc.

If admin key is compromised/misused, an attacker can point token policy to a malicious registry immediately.

Changes in this PR

  • add timelock guard for registry changes (2 days)
  • setIdentityRegistry(new) now schedules pending update
  • add executeIdentityRegistryUpdate()
  • add cancelIdentityRegistryUpdate()
  • add errors/events/state for pending update visibility
  • add security write-up with exploit/repro and migration:
    • docs/security/03-admin-single-key-and-instant-registry-switch.md

How to verify / exploit (old behavior)

  1. With admin permissions, deploy malicious registry.
  2. Call old setIdentityRegistry(malicious).
  3. Registry switch happens instantly and policy source is compromised.

Remediation / migration steps

  1. Deploy new CLPc version from this PR.
  2. Re-grant roles to expected operators/program contracts.
  3. Update integrations to new token address.
  4. Recommended: move admin to multisig for additional protection.

@boris boris merged commit af619d9 into main Feb 23, 2026
1 check passed
@boris boris deleted the security/timelock-identity-registry-admin-action branch February 23, 2026 10:30
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