Normal behavior:
Per the stated protocol model, an owner deploys the hook and must be able to modify fee parameters and launch configuration via administrative functions. This requires explicit on-chain ownership/access control and setter functions guarded by onlyOwner (or roles) to update launch parameters safely.
Specific issue:
TokenLaunchHook does not implement an owner/admin role or any access-controlled administrative functions. All launch parameters are declared as immutable, making them permanently fixed at deployment. This directly contradicts the protocol specification that the owner has “full administrative control” and “can modify fee parameters,” creating incorrect trust/operational assumptions and eliminating any on-chain remediation path for misconfiguration.
Likelihood: LOW
There is no attacker-driven interaction that can exploit this issue.
The absence of owner controls is a design/implementation omission present at deployment time and cannot be triggered, amplified, or abused by an external adversary.
Impact: MEDIUM
If manifested, the issue can cause significant operational and governance damage:
launch parameters cannot be corrected post-deployment,
fees and penalties cannot be adjusted in response to unexpected conditions,
misconfigurations may render a launch unrecoverable.
However, the issue does not directly enable fund theft, privilege escalation, or denial-of-service through attacker action.
PoC by inspection and interface surface:
Search the contract for any of the following patterns:
owner state variable
onlyOwner AccessControl roles
setter functions (e.g., setPhase*, updateFee*, configureLaunch*)
Observe none exist.
Observe launch parameters are immutable and set only in the constructor.
Therefore, no on-chain actor can modify launch configuration post-deployment,
contradicting the stated protocol model of an owner with administrative control.
Implement explicit ownership and scoped admin setters (or alternatively redesign governance, but the current specification requires an owner). Below is a minimal, security-first pattern using OpenZeppelin Ownable. Do not add blanket setters; scope changes tightly and consider time-lock / phase-gating.
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.
The contest is complete and the rewards are being distributed.