Войти в почту

Разработчики Rust исправили серьезные проблемы безопасности

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