#43303 [BC-Medium] The call to `commit_transaction()` includes the wrong sequence number
Description
Brief/Intro
Vulnerability Details
pub fn commit_transaction(&mut self, account: &AccountAddress, sequence_number: u64) {
let current_seq_number = self.get_sequence_number(account).map_or(0, |v| *v);
let new_seq_number = max(current_seq_number, sequence_number + 1);
self.sequence_numbers.insert(*account, new_seq_number);
self.clean_committed_transactions(account, new_seq_number);
self.process_ready_transactions(account, new_seq_number);
}Impact Details
References
Proof of Concept
Proof of Concept
Previous#43290 [BC-Critical] Anyone can send a write_batch to the DA node, enabling a DOS attack that shuts down the networkNext#43307 [BC-High] Not verifying the signatures upon execution leads to direct loss of funds
Was this helpful?