Кто-то нащупал дыру в контрактах GetGems и начал обчищать пользователей, которые гоняют боты на автоскуп дешёвых подарков.
Механика следующая:
Двое одновременно пытаются купить один и тот же подарок ниже флора. Блокчейн ставит транзакции в очередь, вторая падает со статусом Failed — и по логике должна вернуть деньги отправителю.
Но вместо возврата инициатору контракт отправляет средства на адрес хакера, который просто оказывался следующим в очереди в нужный момент.
Подарок при этом либо не уходит покупателю, либо возвращается продавцу — а деньги оседают у атакующего.
Работает не только на прямых покупках, но и на аукционах и ставках — то есть пока вы спите, вас может тихо обносить кто-то, кто просто караулит очередь транзакций.
Чейн стал быстрее, а контракты GetGems были заточены под старую скорость — из-за этого очередь стало возможно перехватывать там, где раньше это было исключено логикой контракта.
@Notyou
