Skip to content

Commit b5cb01b

Browse files
author
Nikita Khateev
committed
ST-623 -- Fix possible malicious node
Signed-off-by: Nikita Khateev <[email protected]>
1 parent f5c4a52 commit b5cb01b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

plenum/bls/bls_bft_replica_plenum.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,14 @@ def validate_commit(self, commit: Commit, sender, pre_prepare: PrePrepare):
6666
if audit_txn:
6767
audit_payload = audit_txn[TXN_PAYLOAD][TXN_PAYLOAD_DATA]
6868
for lid, sig in commit.blsSigs.items():
69+
lid = int(lid)
70+
if lid not in audit_payload[AUDIT_TXN_STATE_ROOT] or lid not in audit_payload[AUDIT_TXN_LEDGER_ROOT]:
71+
return BlsBftReplicaPlenum.CM_BLS_SIG_WRONG
6972
if not self._validate_signature(sender, sig,
7073
BlsBftReplicaPlenum._create_fake_pre_prepare_for_multi_sig(
71-
int(lid),
72-
audit_payload[AUDIT_TXN_STATE_ROOT][int(lid)],
73-
audit_payload[AUDIT_TXN_LEDGER_ROOT][int(lid)],
74+
lid,
75+
audit_payload[AUDIT_TXN_STATE_ROOT][lid],
76+
audit_payload[AUDIT_TXN_LEDGER_ROOT][lid],
7477
pre_prepare
7578
)):
7679
return BlsBftReplicaPlenum.CM_BLS_SIG_WRONG

0 commit comments

Comments
 (0)