GitHub аннулировала слабые SSH-ключи для удаленного доступа к репозиториям. Ошибка была на стороне библиотеки, используемой для автоматической генерации токенов. Об уязвимости сообщила компания Axosoft, LLC — разработчик клиента GitKraken.
![](https://habrastorage.org/getpro/habr/upload_files/176/19a/f15/17619af15e06aa7b29269c200c11d9ae.jpg)
Для генерации SSH-ключей использовали библиотеку keypair. По заявлению разработчиков библиотеки, ошибка крылась в генераторе псевдослучайных чисел, которая создавала идентичные RSA-ключи. Уязвимость позволяла злоумышленникам перехватывать зашифрованную информацию или получать доступ к репозиториям жертв. Ошибку обнаружил инженер компании Axosoft, заметивший, что keypair регулярно создает одинаковые ключи.
Также уязвимость могла коснуться пользователей сервисов GitLab, Bitbucket и Azure DevOps, использующих клиент GitKraken для создания токенов.
Разработчики keypair уже исправили ошибку и начиная с версии 1.0.4 софт работает должным образом. GitHub советует пользователям проверить SSH-ключи и заменить те, которые могли бы быть созданы с помощью старой версии библиотеки. Также компания в индивидуальном порядке информирует юзеров, которые стали жертвой ошибки. GitKraken, в свою очередь, рекомендует обновиться до версии 8.0.1, удалить все SSH-ключи, созданные с помощью клиента и сгенерировать их снова.
Весной 2020 года GitHub пришлось разлогинить всех авторизованных пользователей из-за ошибки, позволяющей получить доступ к чужим сеансам. Также с 13 августа 2021 года GitHub по умолчанию требует токены или SSH-ключи для операций со всеми инструментами компании.