While the NFTLiquidator contract’s call to
indexToken.mint(...)
is restricted byOnlyStabilityPool
inNFTLiquidator
itself, someone can directly call
the IndexToken contract’s mint function(IndexToken::mint()
), which is external and has no built-in access control.Noticed this while reviewing the contract StabilityPool
indexToken.mint(...)
can be called directly. Below is function declaration showing the missing access control.
A malicious user could bypass NFTLiquidator entirely and just do:
Manual review
Access control can be added to the mint function itself. Example, onlyOwner, onlyMinter, or onlyLiquidator) so that arbitrary addresses cannot call it directly:
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.