The contract allows any user to register themselves directly without owner approval, completely bypassing the intended access control mechanism. The get_random_slice() function is exposed as an entry function without any permission checks, allowing anyone to call it and assign themselves reward amounts.
This breaks the fundamental security model where only the contract owner should control who gets registered for the airdrop. Users can self-register and claim rewards without any approval process.
Likelihood:
Any user can call this function immediately upon contract deployment
No special knowledge or tools required - standard blockchain transaction
Function is publicly exposed in the contract interface
Works 100% of the time with any valid address
Impact:
Complete breakdown of owner-controlled registration system
Unlimited users can register themselves without permission
Owner loses all control over airdrop participant management
Anyone can drain the reward pool by self-registering and claiming
Fundamental protocol security assumptions are violated
Proof of Concept
Live blockchain demonstration with fresh contract deployment:
The test demonstrates complete bypass of the intended owner registration process. The user registered themselves and received a reward allocation without any owner interaction or permission.
Impact Demonstration:
This proof demonstrates complete breakdown of the access control system. The vulnerability allows:
Unauthorized Registration: Any user can register themselves without owner approval
Reward Assignment: Users receive random amounts (100-500 Octas) automatically
Pool Drainage: Unlimited users can self-register and claim rewards
Owner Control Loss: The intended gatekeeping mechanism is completely bypassed
Root Cause: The get_random_slice()
function is marked as entry fun
without any access control checks, making it publicly callable by anyone instead of being an internal helper function.
Remove the entry
modifier to make the function internal-only, callable only from register_pizza_lover()
which has proper owner access control. This restores the intended security model where only the owner can register users
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.