-
Notifications
You must be signed in to change notification settings - Fork 0
Admin should be able to refund or redeem the sanctioned users #265
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
Comments
trust1995 marked the issue as primary issue |
trust1995 marked the issue as satisfactory |
Its not in scope as mentioned in README, specifically in Not in scope ->
|
ali2251 marked the issue as sponsor disputed |
I don't believe this clause includes the described case, i.e. even admin cannot move the locked funds. |
trust1995 marked the issue as selected for report |
@trust1995 the out of scope section includes the words: Can you please explain how this is not the exact same scenario that we declare out of scope? |
The KYC edge cases disclaimer does not include funds being permanently locked in the protocol. It relates to the fact that when users lose their KYC or are sanctioned, their funds are locked in (from their perspective). The fact those funds can't be claimed by delegated authorities is concerning. |
While we see your concern, this is the intended design and we feel you are misinterpreting the out of scope section. There is nothing in the out of scope section that has an exception clause relating to whose perspective the funds are locked from. Maybe an example could help clear up the miscommunication going on - Could you please explain an "in scope" scenario here that is not covered by the following? ""[...] when a user’s KYC status or Sanction status changes in between different actions, leaving them at risk of their funds being locked in the protocols [....]" |
@cameronclifton I will explain the original intention of this submission as an auditor.
|
Lines of code
https://github.com/code-423n4/2023-01-ondo/blob/f3426e5b6b4561e09460b2e6471eb694efdd6c70/contracts/cash/CashManager.sol#L707
Vulnerability details
Impact
Sanctioned user's funds are locked
Proof of Concept
It is understood that the sanctioned users can not mint nor redeem because the functions
requestMint()
andrequestRedemption()
are protected by the modifiercheckKYC()
.And it is also understood that the protocol team knows about this.
But I still believe the admin should be able to refund or redeem those funds.
And it is not possible for now because the KYC is checked for the
redeemers
andrefundees
in the functioncompleteRedemptions()
.So as long as the user becomes unverified (due to several reasons including the signature expiry), the funds are completely locked and even the admin has no control over it.
Tools Used
Manual Review
Recommended Mitigation Steps
Assuming that the
MANAGER_ADMIN
can be trusted, I suggest removing KYC check for the redeemers and refundees.The text was updated successfully, but these errors were encountered: