GitHub заблокировал SSH-ключи, сгенерированные при помощи библиотеки keypair

GitHub заблокировал SSH-ключи пользователей Git-клиентов, использующих для генерации ключей JavaScript-библиотеку keypair. Например, под блокировку попали ключи Git-клиента GitKraken. Уязвимость приводит к формированию предсказуемых RSA-ключей из-за ошибки, существенно снижающей качество энтропии при генерации случайной последовательности для ключей. Проблема устранена в выпусках keypair 1.0.4 и в GitKraken 8.0.1.

Причиной появления уязвимости стало использование в процессе формирования ключа вызова «b.putByte(String.fromCharCode(next & 0xFF))» при том, что в методе putByte ещё раз вызывался метод fromCharCode. Двойной вызов fromCharCode («String.fromCharCode( String.fromCharCode(next & 0xFF) )») приводил к тому, что большая часть буфера c энтропией оказывалась заполнена нулями, т.е. ключ генерировался на основе «случайных» данных, на 97% состоящих из нулей.

Источник: opennet.ru

Добавить комментарий