Теоретически, злоумышленник может наблюдать достаточное количество случайных значений, чтобы определить внутреннее состояние генератора случайных чисел, и с помощью этой информации узнать ключи API, сгенерированные до последней перезагрузки сервера базы данных.
Во-вторых, ключи API для пакетов хранились в незашифрованном виде. Если атакующий взломает базу данных, он получит доступ ко всем действующим токенам.
В качестве решения проблем разработчики Rust выпустили криптографически безопасный генератор случайных чисел и реализовали хэш-функцию для хранения токенов в базе данных.
Пакеты crates являются частью языка программирования Rust. Опубликовавшие их разработчики могут сгенерировать новые ключи API на сайте
crates.io. По данным ресурса, в настоящее время существует более 43 тыс. пакетов crates, в общей сложности загруженным более 3 млрд раз.
«Эксплуатация любой из описанных выше проблем невероятно сложна на практике, и мы не нашли никаких доказательств того, что их используют в реальных атаках. Однако в целях предосторожности мы решили отозвать все существующие ключи API», - сообщили разработчики.