K

KeyAudit

· ·audit-finding·private-key-leak·infrastructure

OpenZeppelin Audit Uncovers Rule Selection Downgrade Bug in Stellar Smart Account

OpenZeppelin's audit of the Stellar Contracts Library (RC v0.7.0) revealed a high-severity vulnerability in the smart account's authorization model, allowing a sponsor to silently downgrade context rules after collecting signatures. In Soroban, Stellar's Rust-based smart contract platform, the host computes a signature_payload from the transaction, while the auth_payload containing rule IDs is user-supplied. Since signatures were verified against the raw signature_payload without committing to rule selection, a malicious sponsor could swap context_rule_ids after obtaining signatures, bypassing stricter policies like multisig thresholds or spending limits. The fix introduces an auth_digest that cryptographically binds rule selection to the signed data, preventing unintended rule downgrades. This bug highlights the critical need to include all security parameters in the signed payload in systems where offline signing and transaction assembly are separated.

Key facts

  • Stellar Soroban authorization separates host-computed signature payload from user-supplied rule IDs.
  • Vulnerability allowed rule ID swap after signing, bypassing stricter policies.
  • Fix binds rule selection into auth_digest to prevent silent downgrade.
  • Also added check rejecting signers not in selected rules.

KeyAudit data perspective

📊 KeyAudit data: Base historical leak records: 1806010

← Back to list