When opening a position, the protocol swaps the borrowed token (e.g., USDC) for the collateral token (e.g., WETH). If the 1inch router returns no data, the contract should verify the balance of the received collateral token.
The _executeOpenOperation function incorrectly passes the borrowToken address (the token being sold) as the _asset parameter to _call1InchSwap. If the fallback logic triggers, it checks the balance of the sold token instead of the bought token.
Likelihood:
A user selects a swap route where the specific 1inch aggregator adapter returns empty bytes (common in some legacy adapters or specific execution paths).
Impact:
Valid open operations revert with "Slippage too high" because the balance of the sold token is 0 (or less than minReturn).
Users are effectively blocked from using specific swap routes, creating a functional Denial of Service.
Add this test to test/StrataxPoC.t.sol:
In src/Stratax.sol, function _executeOpenOperation:
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.
The contest is complete and the rewards are being distributed.