Calling TradingAccountBranch::createTradingAccountAndMulticall
allows users to delegatecall
any contract and function by their choice with no restrictions meaning they can very easily drain the contract of its funds.
By simply passing the proper bytes a user can call into their malicious contract which can simply use transferFrom
to transfer all of the funds in the contract to another contract, since the caller of transferFrom
will be the TradingAccountBranch
contract the transaction will pass without any issues and all of the funds will be stolen.
All funds in the contract can be stolen.
Manual review
VS Code
Aderyn
Ensure that the contract called is one of the approved contracts (e.g OrderBranch
)
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.