DSC.mint Allows State/Balance DesyncWhen a user mints DSC, the engine increments their user_to_dsc_minted balance and then calls DSC.mint to actually issue the tokens.
The return value of DSC.mint is never checked. If the mint call fails silently, the protocol's internal accounting records the user as having minted DSC that was never actually issued — permanently corrupting the debt ledger.
Likelihood:
The DSC token contract reverts or returns false on mint failure (e.g. due to access control, pausing, or an ownership misconfiguration) — the engine records the debt without the user ever receiving tokens.
A future upgrade to the DSC token that introduces a mintable cap or role check causes silent failures that the engine cannot detect.
Impact:
The user's user_to_dsc_minted is inflated, making their health factor appear worse than it is — they may be wrongly liquidated.
The protocol's total debt accounting diverges from actual token supply, breaking the peg mechanism.
Users can become eligible for a liquidation they do not deserve
Capture and assert the return value of the mint call:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.