contracts/governor/src/lib.rs propose_authority does not call is_zero_stellar_account(&env, &new_authority) (unlike set_fee_recipient), does not check whether new_authority already holds Admin, and unconditionally overwrites DataKey::PendingAuthority / PendingAuthorityProposer. A fat-fingered proposal to the zero address, once accepted, would make the zero account the sole admin.
Filed from a codebase review pass.
contracts/governor/src/lib.rspropose_authoritydoes not callis_zero_stellar_account(&env, &new_authority)(unlikeset_fee_recipient), does not check whethernew_authorityalready holdsAdmin, and unconditionally overwritesDataKey::PendingAuthority/PendingAuthorityProposer. A fat-fingered proposal to the zero address, once accepted, would make the zero account the sole admin.Filed from a codebase review pass.