GitHub zablokował klucze SSH użytkowników klientów Git, którzy używają biblioteki JavaScript keypair do generacji kluczy. Na przykład, zablokowane zostały klucze klienta GitKraken. Luka bezpieczeństwa prowadzi do formowania przewidywalnych kluczy RSA z powodu błędu, który znacznie obniża jakość entropii przy generacji losowej sekwencji dla kluczy. Problem został naprawiony w wersjach keypair 1.0.4 oraz w GitKraken 8.0.1.
Przyczyną pojawienia się luki bezpieczeństwa było użycie w procesie formowania klucza wywołania „b.putByte(String.fromCharCode(next & 0xFF))”, przy tym, że w metodzie putByte ponownie wywoływana była metoda fromCharCode. Podwójne wywołanie fromCharCode („String.fromCharCode( String.fromCharCode(next & 0xFF) )”) prowadziło do tego, że znaczna część bufora z entropią była wypełniona zerami, tzn. klucz był generowany na podstawie „losowych” danych w 97% składających się z zer.
Źródło: opennet.ru
