Wrong AnycallFlag used in function _performCall
of BranchBridgeAgent
#270
Labels
3 (High Risk)
Assets can be stolen/lost/compromised directly
bug
Something isn't working
duplicate-91
satisfactory
satisfies C4 submission criteria; eligible for awards
Lines of code
https://github.com/code-423n4/2023-05-maia/blob/54a45beb1428d85999da3f721f923cbf36ee3d35/src/ulysses-omnichain/BranchBridgeAgent.sol#L1006-L1011
Vulnerability details
Impact
Wrong AnycallFlag
FLAG_ALLOW_FALLBACK
is used in_performCall
ofBranchBridgeAgent
. Gas are credited locally instead of remotely, despite gas has already been deposited to bridge out.Proof of Concept
According to the doc, Execution gas fees are credited to the recipient contract (Bridge Agent) deducting the gas spent from this contract's executionBudget kept in the AnycallConfig contract.
Tools Used
Manual
Recommended Mitigation Steps
Use flag
FLAG_ALLOW_FALLBACK_DST
Assessed type
Context
The text was updated successfully, but these errors were encountered: