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))“) водеше до това, че голяма част от буфера с ентропията се запълваше с нули, т.е. ключът се генерираше на базата на „случайни“ данни, от които 97% бяха съставени от нули.
Източник: opennet.ru
