Rescuing over $600,000 of SushiSwap user funds

On the evening of 8 April 2023, HYDN monitoring caught an approval bug in SushiSwap's RouteProcessor2 contract being exploited. Weak input validation let an attacker impersonate a pool and move tokens from any account that had approved the router. HYDN opened a war room with the Sushi team that night and deployed a cross-chain watcher to front-run the attackers across eight chains, rescuing over $600,000 of user funds.

The situation

RouteProcessor2 was a SushiSwap router contract. Users granted it approvals to trade their tokens. A flaw in how it validated input to processRoute() meant an attacker could pass in a fake pool address and have the router move tokens from any account that had approved it.

What HYDN did

  1. Detection. HYDN’s monitoring caught the exploit as it happened.
  2. War room. We opened a joint war room with the Sushi team that same night.
  3. Rescue. We deployed a cross-chain watcher contract that front-ran the attackers across eight chains, moving funds that were already being drained.
  4. Result. Over $600,000 of user funds was rescued before it could be taken.

Lessons

  • Router approvals are a high-value target. We now check them first in every DEX audit.
  • Monitoring and fast response save money that audits alone cannot.
  • Users should revoke approvals they no longer need.

Read the full write-up.

Questions

Frequently asked questions

What was the vulnerability?

Weak input validation in the processRoute() function of SushiSwap's RouteProcessor2 contract allowed an attacker to impersonate a V3 pool address and move tokens out of any account that had granted the router an approval.

How was the money rescued?

HYDN deployed a watcher contract across eight chains that front-ran the attackers, moving at-risk funds to safety before they could be taken.

Published Updated

Talk to the people who would do the work.