Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: low
Invalid

Denial of Service via Mass Scheduling

Summary

Currently there is no restriction on the number of operations that can be scheduled in a single batch:

address[] calldata targets,
uint256[] calldata values,
bytes[] calldata calldatas,
bytes32 predecessor,
bytes32 salt,
uint256 delay
) external override onlyRole(PROPOSER_ROLE) returns (bytes32) {
// Input validation: check if the number of targets, values, and calldatas are the same
if (targets.length == 0 || targets.length != values.length || targets.length != calldatas.length) {
revert InvalidTargetCount();
}

Same goes to executeBatch() function and other related functions
A proposer can schedule thousands of operations in a single transaction
This bloats storage with _operations increases gas costs, and can lead to contract execution failure due to out of gas error

Impact

  • Gas error

  • DoS

Tools Used

Manual Review

Recommendations

Add a check for tagets.length

require(targets.length <= 100, "Batch size too large");
Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.