Borrower Can Permanently Invalidate Push Provider Credentials Through Block/Unblock Actions #238
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
🤖_104_group
AI based duplicate group recommendation
sufficient quality report
This report is of sufficient quality
Lines of code
https://github.com/code-423n4/2024-08-wildcat/blob/fe746cc0fbedc4447a981a50e6ba4c95f98b9fe1/src/access/AccessControlHooks.sol#L447-L449
Vulnerability details
The current implementation allows the borrower to permanently invalidate credentials provided by push providers through a sequence of blocking and unblocking actions. This vulnerability undermines the access control system and gives the borrower unintended power over lender credentials.
Proof of Concept
A push provider grants a credential to a lender:
The borrower can then invalidate this credential:
The borrower can then unblock the lender, but the credential remains invalidated:
However, push provider credentials can't be refreshed.
Exploit scenario:
This allows the borrower to arbitrarily and permanently revoke access granted by push providers, which is likely not the intended behavior of the system.
Recommended Mitigation Steps
Separate blocking from credential management.
Assessed type
Access Control
The text was updated successfully, but these errors were encountered: