Missing validation on minTickets and maxTickets in createRaffle function
Summary
The missing check minTickets <= maxTickets in createRaffle function of WinablesTickerManager.sol contract will cause all raffles with minTickets > maxTickets to have their prizes permanently locked on Ethereum and also not be refunded to players on Avalanche.
Root Cause
No response
Internal pre-conditions
No response
External pre-conditions
No response
Attack Path
The missing check above allows the admin to successfully create raffles where minTickets is greater than maxTickets
Impact
Without this constraint check, although the raffle is still successfully created, the player can still purchase tickets normally, but after the ticket purchase stage ends, the raffle cannot move to the draw winner step, which leads to the inability to propagate the winner to WinablesPrizeManager, as well as the inability to cancel the raffle. As a result, the prize will be permanently locked on WinablesPrizeManager, while WinablesTicketManager cannot refund the players.
PoC
No response
Mitigation
Add a constraint between minTickets and maxTickets to ensure that minTickets <= maxTickets
anonimoux2k
Invalid
Missing validation on minTickets and maxTickets in createRaffle function
Summary
The missing check
minTickets
<=maxTickets
increateRaffle
function ofWinablesTickerManager.sol
contract will cause all raffles with minTickets > maxTickets to have their prizes permanently locked on Ethereum and also not be refunded to players on Avalanche.Root Cause
No response
Internal pre-conditions
No response
External pre-conditions
No response
Attack Path
The missing check above allows the admin to successfully create raffles where minTickets is greater than maxTickets
Impact
Without this constraint check, although the raffle is still successfully created, the player can still purchase tickets normally, but after the ticket purchase stage ends, the raffle cannot move to the draw winner step, which leads to the inability to propagate the winner to
WinablesPrizeManager
, as well as the inability to cancel the raffle. As a result, the prize will be permanently locked onWinablesPrizeManager
, whileWinablesTicketManager
cannot refund the players.PoC
No response
Mitigation
Add a constraint between
minTickets
andmaxTickets
to ensure thatminTickets
<=maxTickets