Some functions in the RootProxy
and BranchManager
contracts lack proper access control, allowing anyone to execute administrative actions like upgrading of branches, pausing/unpausing the contract, and modifying branch data.
Affected Contracts & Function:
Contract Name | Function Name | Issue |
---|---|---|
RootProxy |
upgradeBranches() |
No onlyAdmin check, allowing unauthorized upgrades. |
RootProxy |
pause() |
No restriction, meaning anyone can pause the contract. |
RootProxy |
unpause() |
No restriction, meaning anyone can unpause the contract. |
BranchManager |
addBranch() |
No onlyAdmin , so anyone can add a branch (potential vulnerability). |
BranchManager |
removeBranch() |
No onlyAdmin , so anyone can remove a branch, possibly breaking functionality. |
The contracts **lack access control ** (onlyAdmin
, AccessControl
, or Ownable
), making critical functions callable by anyone.
manual
strict access control should be enforced
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.