#42298 [BC-Critical] Blocks from Celestia are not executed in order which breaks sequencer logic and application priorities
Description
Brief/Intro
Vulnerability Details
async fn build_next_block(
&self,
metadata: block::BlockMetadata,
transactions: Vec<Transaction>,
) -> Result<Block, anyhow::Error> {
let mut parent_block = self.parent_block.write().await;
let new_block = Block::new(metadata, *parent_block, BTreeSet::from_iter(transactions));
*parent_block = new_block.id();
Ok(new_block)
}Impact Details
References
Proof of Concept
Proof of Concept
Previous#42395 [BC-High] Movement does not allow overwriting transactions with a higher priority, breaking Aptos mempool logicNext#42430 [BC-Insight] `add_mempool_transaction()` does not check if the transaction already exist in the mempool
Was this helpful?