You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The main ValidateVoteExtensions utility function currently does not de-duplicate vote extensions included in the ExtendedCommitInfo. The code can be referenced here:
returnfmt.Errorf("insufficient cumulative voting power received to verify vote extensions; got: %s, expected: >=%s", percentSubmitted, VoteExtensionThreshold)
}
}
returnnil
}
The fix here is simple and I will reference the PR once it is made. This can allow malicious proposers to effectively bypass the 2/3+ quorum required by default to accept a block with vote extensions.
Cosmos SDK Version
main
How to reproduce?
Something like the following can happen:
proposer retrieves the extended commit info from the previous height.
only includes their own vote extension, duplicated with enough voting power to reach quorum
includes that in the current block
ValidateVoteExtensions accepts the block proposal and proposer can manipulate on-chain state depending on the context of how vote extensions are utilized (oracles, random numbers, etc.)
The text was updated successfully, but these errors were encountered:
Is there an existing issue for this?
What happened?
The main
ValidateVoteExtensions
utility function currently does not de-duplicate vote extensions included in theExtendedCommitInfo
. The code can be referenced here:cosmos-sdk/baseapp/abci_utils.go
Lines 42 to 137 in ae19acc
The fix here is simple and I will reference the PR once it is made. This can allow malicious proposers to effectively bypass the 2/3+ quorum required by default to accept a block with vote extensions.
Cosmos SDK Version
main
How to reproduce?
Something like the following can happen:
ValidateVoteExtensions
accepts the block proposal and proposer can manipulate on-chain state depending on the context of how vote extensions are utilized (oracles, random numbers, etc.)The text was updated successfully, but these errors were encountered: