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

Lack of Two-Step Process for Critical Operations #68

Closed
code423n4 opened this issue Jun 23, 2022 · 1 comment
Closed

Lack of Two-Step Process for Critical Operations #68

code423n4 opened this issue Jun 23, 2022 · 1 comment
Labels
2 (Med Risk) Assets not at direct risk, but function/availability of the protocol could be impacted or leak value bug Something isn't working duplicate This issue or pull request already exists invalid This doesn't seem right sponsor disputed Sponsor cannot duplicate the issue, or otherwise disagrees this is an issue

Comments

@code423n4
Copy link
Contributor

Lines of code

https://github.com/code-423n4/2022-06-illuminate/blob/main/marketplace/MarketPlace.sol#L109-L112
https://github.com/code-423n4/2022-06-illuminate/blob/main/lender/Lender.sol#L129-L131
https://github.com/code-423n4/2022-06-illuminate/blob/main/redeemer/Redeemer.sol#L62-L65

Vulnerability details

Impact

This function transfers the ownership of the contract in a single step. There is no way to reverse a one-step transfer of ownership to an address without an owner. This would not be the case if ownership were transferred through a two-step process in which an owner proposed a transfer and the prospective recipient accepted it.

Proof of Concept

Alice wants to transfer ownership of contract.sol to a new wallet address. Alice executes setAdmin() function to the wrong address. Not double checking it before, Alice has now set the owner to the wrong address and now this cannot be undone. Alice is locked out of the ability to execute all critical authorized(admin) functions.

Tools Used

Manual Review

Recommended Mitigation Steps

Use a two-step process for ownership transfers.

@code423n4 code423n4 added 2 (Med Risk) Assets not at direct risk, but function/availability of the protocol could be impacted or leak value bug Something isn't working labels Jun 23, 2022
code423n4 added a commit that referenced this issue Jun 23, 2022
@sourabhmarathe sourabhmarathe added the sponsor acknowledged Technically the issue is correct, but we're not going to resolve it for XYZ reasons label Jun 29, 2022
@sourabhmarathe
Copy link
Collaborator

Duplicate of #316.

@JTraversa JTraversa added sponsor disputed Sponsor cannot duplicate the issue, or otherwise disagrees this is an issue duplicate This issue or pull request already exists and removed sponsor acknowledged Technically the issue is correct, but we're not going to resolve it for XYZ reasons labels Jul 2, 2022
@gzeoneth gzeoneth added the invalid This doesn't seem right label Jul 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 (Med Risk) Assets not at direct risk, but function/availability of the protocol could be impacted or leak value bug Something isn't working duplicate This issue or pull request already exists invalid This doesn't seem right sponsor disputed Sponsor cannot duplicate the issue, or otherwise disagrees this is an issue
Projects
None yet
Development

No branches or pull requests

4 participants