#43217 [BC-Insight] Incorrect public key notification after key rotation
Description
Brief/Intro
Vulnerability Details
let signer = match backend_name.as_str() { "vault" => { // ... Vault client creation ... SignerBackend::Vault(HashiCorpVault::<Ed25519>::new( client, canonical_string.clone(), "transit".to_string(), )) } "aws" => { // ... AWS client creation ... SignerBackend::Aws(AwsKms::<Secp256k1>::new( client, canonical_string.clone(), )) } _ => return Err(anyhow::anyhow!("Unsupported signer backend: {}", backend_name)), };key_manager .rotate_key(&canonical_string) .await .context("Failed to rotate the key")?;let public_key = signer .public_key() .await .context("Failed to fetch the public key from signer")?;key_manager .application .notify_public_key(public_key) .await .context("Failed to notify the application with the public key")?;
Impact Details
References
Proof of Concept
Fix
Previous#43191 [BC-High] DOS attack by sending transactions that pass the sufficient balance test when entering mempool but fail it in executionNext#43220 [BC-Insight] The GC_INTERVAL might not be fitting for the configured sequence_number_ttl_ms
Was this helpful?