Renzo - 0xBeastBoy's results

A protocol that abstracts all staking complexity from the end-user and enables easy collaboration with EigenLayer node operators and a Validated Services (AVSs).

General Information

Platform: Code4rena

Start Date: 30/04/2024

Pot Size: $112,500 USDC

Total HM: 22

Participants: 122

Period: 8 days

Judge: alcueca

Total Solo HM: 1

Id: 372

League: ETH

Renzo

Findings Distribution

Researcher Performance

Rank: 70/122

Findings: 1

Award: $2.70

🌟 Selected for report: 0

🚀 Solo Findings: 0

Awards

2.6973 USDC - $2.70

Labels

bug
2 (Med Risk)
satisfactory
sufficient quality report
:robot:_06_group
duplicate-569

External Links

Lines of code

https://github.com/code-423n4/2024-04-renzo/blob/519e518f2d8dec9acf6482b84a181e403070d22d/contracts/Withdraw/WithdrawQueue.sol#L139

Vulnerability details

Impact

The WithdrawQueue contract has defined pause and unpause functions but they haven't been utilized in the contract. No modifier like whenNotPaused type is defined and used with the function that shouldn't be operational if the contract is paused.

Without the "whenNotPaused" modifier, functions within the contract can still be invoked even when the contract is paused. This undermines the purpose of pausing the contract, as critical operations may continue to execute. Continued execution of functions during a paused state may result in unintended behavior, inconsistent state changes, or unexpected interactions with external systems or users. Users would be able to claim or withdraw even contract is paused.

Proof of Concept

See the following code:

/** * @notice Pause the contract * @dev Permissioned call (onlyWithdrawQueueAdmin) */ function pause() external onlyWithdrawQueueAdmin { _pause(); } /** * @notice Unpause the contract * @dev Permissioned call (onlyWithdrawQueueAdmin) */ function unpause() external onlyWithdrawQueueAdmin { _unpause(); }

Tools Used

Manual Review

Modify the contract's functions to include the whenNotPaused modifier, ensuring that they can only be executed when the contract is not in a paused state.

Assessed type

ETH-Transfer

#0 - c4-judge

2024-05-16T10:50:47Z

alcueca marked the issue as satisfactory

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter