Hawk High

First Flight #39
Beginner FriendlySolidity
100 EXP
View results
Submission Details
Impact: high
Likelihood: high
Invalid

Function Mismatch Between Contracts for graduation

Summary

LevelOne has graduateAndUpgrade(address _levelTwo, bytes memory). This function is missing in LevelTwo

  • LevelTwo has graduate() This function is missing in LevelOne

Vulnerability Details

  • LevelOne has graduateAndUpgrade(address _levelTwo, bytes memory)

  • LevelTwo has graduate()

if those are supposedly interchangeable, this leads to:

  • Different function signatures

  • Different initialization patterns

if those are not supposedly interchangeable:

  • LevelOne has a function that is missing in LevelTwo

  • LevelTwo has a function that is missing in LevelOne

Impact

  • Upgrade process breaks

  • State transition fails

  • Contract becomes stuck

  • Potential for unauthorized upgrades

Tools Used

Function signature analysis

Recommendations

  • Align function signatures

  • Implement consistent upgrade logic

  • Add proper access controls

  • Add validation for upgrade process

  • Add comprehensive tests for upgrade process

Updates

Lead Judging Commences

yeahchibyke Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Lack of quality

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!