Maia DAO - Ulysses - DanielTan_MetaTrust's results

Harnessing the power of Arbitrum, Ulysses Omnichain specializes in Virtualized Liquidity Management.

General Information

Platform: Code4rena

Start Date: 22/09/2023

Pot Size: $100,000 USDC

Total HM: 15

Participants: 175

Period: 14 days

Judge: alcueca

Total Solo HM: 4

Id: 287

League: ETH

Maia DAO

Findings Distribution

Researcher Performance

Rank: 147/175

Findings: 1

Award: $11.47

QA:
grade-b

🌟 Selected for report: 0

🚀 Solo Findings: 0

Lines of code

https://github.com/code-423n4/2023-09-maia/blob/main/src/RootPort.sol#L259-L270

The setLocalAddress function lacks setting or validating the _globalAddress

Description

The setLocalAddress function of the RootPort contract lacks setting isGlobalAddress[_globalAddress] as true or validating whether isGlobalAddress[_globalAddress] is true(valid) or not.

Before executing the statement getGlobalTokenFromLocal[_localAddress][_srcChainId] = _globalAddress;, it is needed to make sure the _globalAddress is a valid global address.

Impact

Functions, bridgeToRoot, bridgeToRootFromLocalBranch, and bridgeToLocalBranchFromRoot will check the isGlobalAddress first, missing setting the isGlobalAddress or any wrong value of isGlobalAddress will block other functions.

Recommendation

Consider validating isGlobalAddress[_globalAddress] is true or not or setting the isGlobalAddress[_globalAddress] as true before executing the rest statements of the setLocalAddress function.

#0 - c4-pre-sort

2023-10-15T12:25:30Z

0xA5DF marked the issue as sufficient quality report

#1 - c4-judge

2023-10-20T13:45:41Z

alcueca marked the issue as grade-b

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter