Toutes les vulnérabilités
CRITICALWeb3

WEB3-GALA-2024

Web3 · Ethereum · Gala Games

Résumé

On May 20, 2024, the GALA token contract on Ethereum was abused to mint 5,000,000,000 GALA (nominally ~$200 million), of which the attacker sold 592 million GALA for 5,952 ETH (~$21.8 million) before being blocklisted. The GALA v2 contract did gate minting behind a MINTER role (OpenZeppelin AccessControl-style onlyRole check), so this was not an unprotected mint function; the root cause was a compromised, over-privileged minter account that had sat dormant for roughly 180 days without rotation or revocation. Holding a legitimately privileged role, the attacker called the privileged mint path to issue billions of tokens to their own address. This is improper privilege management and privileged-key compromise at the operational layer rather than a missing on-chain role check. Gala used a pre-existing blocklist function to freeze billions of the minted GALA within about 45 minutes, and the attacker later returned 5,913.2 ETH (~$22.3 million).

Comment l’éviter dans votre code

  • Enforce least privilege: scope the MINTER role to the minimum addresses and revoke dormant or unused privileged roles.
  • Rotate and audit privileged keys on a schedule; alert on minter accounts inactive for long periods.
  • Hold privileged mint/admin roles in multisig or MPC custody, never a single hot key.
  • Add mint rate limits, per-epoch caps, or timelocks so a single call cannot mint unbounded supply.
  • Monitor on-chain for unexpected mint events and keep a tested blocklist/pause path ready.

Références

Vulnérabilités liées

Tout Web3 →