Evmos - это масштабируемый блокчейн EVM с высокой пропускной способностью и доказательством доли владения, который полностью совместим и вз…
Evmos - это масштабируемый блокчейн EVM с высокой пропускной способностью и доказательством доли владения, который полностью совместим и взаимодействует с Ethereum. До версии 17.0.0 существует способ чеканки произвольных токенов из-за возможности наличия двух разных состояний, не синхронизированных во время выполнения транзакции. Эксплойт основан на том, что для синхронизации состояния Cosmos SDK и EVM мы полагаемся на метод `stateDB.Commit()`. Когда мы вызываем этот метод, мы перебираем все `dirtyStorage` и, **только если** он отличается от `originStorage`, мы устанавливаем новое состояние. Установка нового состояния означает, что мы обновляем Cosmos SDK KVStore. Если состояние хранилища контракта одинаково до и после транзакции, но изменяется во время транзакции и может вызвать внешний контракт после изменения, это может быть использовано для того, чтобы сделать транзакцию похожей на неатомарную. Уязвимость является **критической**, поскольку это может привести к утечке средств через креативные взаимодействия SC. Проблема была исправлена в версиях >=V17.0.0.
Программный продукт использует несколько потоков, процессов, компонентов или систем для предоставления временного доступа к общему ресурсу, который может принадлежать только одному процессу единовременно, однако не обеспечивает надлежащую синхронизацию этих действий, что может приводить к одновременному доступу к ресурсу из нескольких потоков или процессов.
https://cwe.mitre.org/data/definitions/662.html →Открыть в коллекции CWE →Злоумышленник провоцирует и эксплуатирует состояние взаимоблокировки в целевом программном обеспечении, чтобы вызвать отказ в обслуживании. Взаимоблокировка может возникнуть, когда два или более конкурирующих действия ожидают завершения друг друга и в итоге ни одно из них не завершается. Состояния взаимоблокировки бывает сложно обнаружить.
https://capec.mitre.org/data/definitions/25.html →Открыть в коллекции CAPEC →Злоумышленник нацеливается на состояние гонки, возникающее когда несколько процессов одновременно обращаются к одному ресурсу и манипулируют им, а результат выполнения зависит от конкретного порядка этих обращений. Злоумышленник может эксплуатировать состояние гонки, «участвуя в гонке»: изменяя ресурс и нарушая нормальный порядок выполнения. Например, состояние гонки может возникнуть при обращении к файлу: злоумышленник может обмануть систему, подменив исходный файл своей версией и заставив систему прочитать вредоносный файл.
https://capec.mitre.org/data/definitions/26.html →Открыть в коллекции CAPEC →Данная атака эксплуатирует использование символических ссылок (Symlink) для записи в конфиденциальные файлы. Злоумышленник может создать символическую ссылку на целевой файл, к которому у него нет прямого доступа. Когда привилегированная программа пытается создать временный файл с тем же именем, что и символическая ссылка, она фактически записывает данные в целевой файл, на который указывает символическая ссылка злоумышленника. Если злоумышленник может поместить вредоносное содержимое во временный файл, он тем самым запишет его в конфиденциальный файл через символическую ссылку. Состояние гонки возникает потому, что система проверяет существование временного файла, а затем создаёт его. Злоумышленник, как правило, создаёт символическую ссылку в промежутке между проверкой и созданием временного файла.
https://capec.mitre.org/data/definitions/27.html →Открыть в коллекции CAPEC →Данная атака нацелена на состояние гонки, возникающее между моментом проверки (состояния) ресурса и моментом его использования. Типичный пример — обращение к файлу. Злоумышленник может эксплуатировать состояние гонки при обращении к файлу, «участвуя в гонке»: изменяя ресурс между первым обращением целевой программы к файлу и фактическим его использованием. В этом промежутке злоумышленник может заменить или изменить файл, вызвав неожиданное поведение приложения.
https://capec.mitre.org/data/definitions/29.html →Открыть в коллекции CAPEC →