Ineffective Pausing Mechanism #33
Labels
bug
Something isn't working
downgraded by judge
Judge downgraded the risk level of this issue
edited-by-warden
grade-a
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
Lines of code
https://github.com/code-423n4/2024-04-renzo/blob/1c7cc4e632564349b204b4b5e5f494c9b0bc631d/contracts/Bridge/L2/xRenzoDeposit.sol#L168
https://github.com/code-423n4/2024-04-renzo/blob/1c7cc4e632564349b204b4b5e5f494c9b0bc631d/contracts/Bridge/L2/xRenzoDeposit.sol#L204
Vulnerability details
Vulnerability Details:
The protocol has the ability to pause user deposits and withdrawals if necessary, for instance, due to the identification of a vulnerability or during a contract upgrade. However, the current implementation’s pausing capability does not account for deposits made from Layer 2 networks. As seen below, the
depositETH
anddeposit
functions in thexRenzoDeposit
L2 contract lack a clear way to be halted if necessary.If the protocol needs to halt deposits and withdrawals for any reason, the current implementation cannot apply this restriction to deposits from any L2 networks. As a result, deposits can still be made while the protocol is paused, eventually reaching the L1 side and undermining the effectiveness of the pause
Impact:
Tools Used:
Recommendation:
The protocol should add the pausing functionality to the
depositETH
anddeposit
functions in thexRenzoDeposit
contract. This will ensure that the protocol can pause all deposits and withdrawals if necessary.Assessed type
Access Control
The text was updated successfully, but these errors were encountered: