The only method in the junction contract UnwrapAndSendETH
can be called externally, by anyone, creating the risk of unaware users to lose their ETH tokens.
Junctions are helper contracts that can be used in a pipeline call to unlock greater functionality. Even if these should be called only through the Pipeline
contract there's nothing stopping anyone to use them directly.
If someone interacts with the contract by directly transferring WETH to it and then attempting to call unwrapAndSendETH
they would 100% be frontran and have their unwrapped ETH stolen by MEV bots.
Likelihood - Low, a user would have to directly interact with the contract.
Impact - High, all his funds will be lost.
Manual review
Given that the intended way of calling this is through the Pipeline
contract why not implement an onlyPipeline modifier to limit the access of anyone else like so:
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.