The checkList
function in the SantasList.sol
lacks proper access control, allowing anyone to execute it. The function is intended to be callable only by Santa, but there is no modifier or check in place to enforce this restriction.
The checkList
function is designed to perform a first pass on individuals to determine if they are "naughty" or "nice." However, the absence of access control mechanisms makes it susceptible to unauthorized access. As a result, any address on the blockchain can call this function, potentially altering the status of individuals on Santa's list.
The lack of access control in the checkList
function poses a security risk as it allows malicious actors to manipulate the status of individuals, compromising the integrity of Santa's list and anyone can give the status to anyone else including himself
No specific tools were used to identify this issue. Manual code review and analysis were sufficient to identify the absence of access control.
Implement a modifier or access control check to ensure that only Santa can execute the checkList function.
Consider using the OpenZeppelin access control library or a similar established solution to manage roles and permissions securely.
Anyone is able to call checkList() changing the status of a provided address. This is not intended functionality and is meant to be callable by only Santa.
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.