Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

M-02 MitigationConfirmed #37

Open
c4-bot-1 opened this issue Sep 17, 2024 · 1 comment
Open

M-02 MitigationConfirmed #37

c4-bot-1 opened this issue Sep 17, 2024 · 1 comment
Labels
edited-by-warden mitigation-confirmed MR-M-02 satisfactory satisfies C4 submission criteria; eligible for awards

Comments

@c4-bot-1
Copy link
Contributor

c4-bot-1 commented Sep 17, 2024

The original finding, Broken assumptions can lead to the inability to seize RSR, described how an invariant broken during the minting process of StRSR could cause calls from the BackingManager to seizeRSR() to revert. This could in turn prevent rebalance operations from succeeding.

As pointed out by the sponsor, the issue would only appear/be exploitable under very specific conditions.

The finding was addressed in PR reserve-protocol/protocol#1198, which implements a fix to avoid the path in seizeRSR() that led to the revert.

This change successfully mitigates the specific attack path presented in the finding, but it is worth pointing out that the invariant described in the inline comments:

if totalStakes == 0, then stakeRSR == 0

...can still be broken as described in the finding and it would be advisable to either thoroughly document this behaviour or remove mentions of such invariant.

@c4-judge
Copy link

thereksfour marked the issue as satisfactory

@c4-judge c4-judge added the satisfactory satisfies C4 submission criteria; eligible for awards label Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
edited-by-warden mitigation-confirmed MR-M-02 satisfactory satisfies C4 submission criteria; eligible for awards
Projects
None yet
Development

No branches or pull requests

3 participants