Comments 6
после второго из-за переполнения целочисленной переменной контракт становится счастливым обладателем (2256-1) токенов.

Integer underflow. В смарт-контрактах. Я ничего не упускаю?

UFO landed and left these words here
Да, так и есть. Но уязвимость заключается скорее в том, что контракт не предусматривает рекурсивный вызов SellTokens(). Злоумышленник может провести на ее основе разные атаки. Не только переполнить uint, но и, например, вывести одни и те же токены несколько раз.

А как вам неинициализированная локальная ссылка на массив, которая указывает в начало глобальной памяти? Вот где реально жесть.
При чем для любого кто пишет на С/С++ это выглядит как локальный массив на стеке. Я даже подумать не мог что это просто указатель да ещё и на валидный участок памяти.

Only those users with full accounts are able to leave comments. Log in, please.

Information

Location
Россия
Website
neobit.ru
Employees
51–100 employees
Registered