57867 sc medium zeroxswapverifier erroneously rejects uniswap v3 swaps due to an an incorrect selector

Submitted on Oct 29th 2025 at 10:07:06 UTC by @pashap9990 for Audit Comp | Alchemix V3arrow-up-right

  • Report ID: #57867

  • Report Type: Smart Contract

  • Report severity: Medium

  • Target: https://github.com/alchemix-finance/v3-poc/blob/immunefi_audit/src/utils/ZeroXSwapVerifier.sol

  • Impacts:

    • Contract fails to deliver promised returns, but doesn't lose value

Description

Finding Description and Impact

To validate a calldata, the ZeroXSwapVerifier library will be utilized. To avoid malicious activity, it also verifies the selector code in each calldata. In Uniswap v3, however, defined selector codes for specific actions, such as UNISWAPV3_VIP, cause blocking swaps.

https://app.blocksec.com/explorer/tx/eth/0x4b168b59f3ba5aefdc26910a4c0907edded280be5963dc92a41bf8e14c8dddf2

The selector code for the aforementioned transaction, which is a swap in Uniswap v3, is 0x22ce6ede, while in ZeroXSwapVerifier, UNISWAPV3_VIP is incorrectly stated as 0x9ebf8e8d.

Proof of Concept

Proof of Concept

Kindly apply git patch below

Was this helpful?