Skip to content
This repository has been archived by the owner on Nov 26, 2023. It is now read-only.

0x52 - Escrow approvals are not cleared when club is transferred allowing for abuse after transfer #289

Open
sherlock-admin opened this issue May 5, 2023 · 1 comment
Labels
Has Duplicates A valid issue with 1+ other issues describing the same vulnerability High A valid High severity issue Reward A payout will be made for this issue Sponsor Confirmed The sponsor acknowledged this issue is valid Will Fix The sponsor confirmed this issue will be fixed

Comments

@sherlock-admin
Copy link
Contributor

0x52

high

Escrow approvals are not cleared when club is transferred allowing for abuse after transfer

Summary

Escrow approvals remain even across club token transfers. This allows a malicious club owners to sell their club then drain everything after sale due to previous approvals.

Vulnerability Detail

ERC20 and ERC721 token approval persist regardless of the owner of the club. The result is that approvals set by one owner can be accessed after a token has been sold or transferred. This allows the following attack:

  1. User A owns clubId = 1
  2. User A sets approval to themselves
  3. User A sells clubId = 1 to User B
  4. User A uses persistent approval to drain all players and tokens

Impact

Malicious approvals can be used to drain club after sale

Code Snippet

FootiumEscrow.sol#L75-L81

FootiumEscrow.sol#L90-L96

Tool used

Manual Review

Recommendation

Club escrow system needs to be redesigned

@github-actions github-actions bot added High A valid High severity issue Has Duplicates A valid issue with 1+ other issues describing the same vulnerability labels May 10, 2023
This was referenced May 10, 2023
@logiclogue logiclogue added the Sponsor Confirmed The sponsor acknowledged this issue is valid label May 16, 2023
@sherlock-admin sherlock-admin added the Reward A payout will be made for this issue label May 22, 2023
@logiclogue logiclogue added the Will Fix The sponsor confirmed this issue will be fixed label Jun 16, 2023
@logiclogue
Copy link

This could be fixed by dropping the escrow as discussed in the other issue. But this will re-surface soon

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Has Duplicates A valid issue with 1+ other issues describing the same vulnerability High A valid High severity issue Reward A payout will be made for this issue Sponsor Confirmed The sponsor acknowledged this issue is valid Will Fix The sponsor confirmed this issue will be fixed
Projects
None yet
Development

No branches or pull requests

2 participants