The rngComplete is a function Called by the relayer to complete the Rng relay auction.
However it has zero access control.
Proof of Concept
The function makes calls to the prizepool to close a draw, it also withdraws from a reserve. All these are done with the data passed in as parameters. Hence it should not be left unguarded
Lines of code
https://github.com/GenerationSoftware/pt-v5-draw-auction/blob/f1c6d14a1772d6609de1870f8713fb79977d51c1/src/RngRelayAuction.sol#L131-L176
Vulnerability details
Impact
The rngComplete is a function Called by the relayer to complete the Rng relay auction. However it has zero access control.
Proof of Concept
The function makes calls to the prizepool to close a draw, it also withdraws from a reserve. All these are done with the data passed in as parameters. Hence it should not be left unguarded
Tools Used
Manual Review
Recommended Mitigation Steps
Since it says that it is a relayer function. Then require that the msg.sender is the rngAuctionRelayer address
Assessed type
Access Control