#38231 [SC-Low] Due to incorrect design in `Consortium::setNextValidatorSet` the validator set could
Description
Brief/Intro
function setNextValidatorSet(
bytes calldata payload,
bytes calldata proof
) external {
// payload validation
if (bytes4(payload) != Actions.NEW_VALSET) {
revert UnexpectedAction(bytes4(payload));
}
Actions.ValSetAction memory action = Actions.validateValSet(
payload[4:]
);
ConsortiumStorage storage $ = _getConsortiumStorage();
// check proof
bytes32 payloadHash = sha256(payload);
checkProof(payloadHash, proof);
if (action.epoch != $.epoch + 1) revert InvalidEpoch();
_setValidatorSet( // qanswered check this func and input params
$,
action.validators,
action.weights,
action.weightThreshold,
action.epoch
);
}Vulnerability Details
Impact Details
Recommendation
Proof of Concept
Proof of Concept
Previous#38189 [SC-Insight] Attacker can grief calls to `lbtc.mintWithFee()`Next#38225 [SC-Insight] user funds will get stuck if `removeDestination` executes before notarization an
Last updated
Was this helpful?