The normal behavior of the cred_token module is to mint and deposit CRED tokens to a user's account. The specific issue is that the mint function checks if the recipient's account is already registered for the CRED token. If the account is not registered, the function calls coin::destroy_zero, which permanently destroys the minted coins. The user receives no error or notification that their rewards were lost.
Likelihood:
This vulnerability will occur whenever a user attempts to unstake a Rapper and they have not yet registered their account for the CRED token.
This is a common pattern in Aptos, and users may not be aware they need to call the register function first.
Impact:
While not a critical security vulnerability, this creates a poor user experience.
Users will believe they have received their staking rewards when in fact they have been destroyed, which could lead to confusion and loss of trust.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.