GitHub heeft SSH-sleutels van gebruikers van Git-clients geblokkeerd die de JavaScript-bibliotheek keypair gebruiken voor het genereren van sleutels. Bijvoorbeeld, de sleutels van de Git-client GitKraken zijn geblokkeerd. De kwetsbaarheid leidt tot de vorming van voorspelbare RSA-sleutels door een fout die de kwaliteit van de entropie bij het genereren van willekeurige reeksen voor sleutels aanzienlijk vermindert. Het probleem is verholpen in de versies keypair 1.0.4 en GitKraken 8.0.1.
De oorzaak van de kwetsbaarheid was het gebruik van de aanroep «b.putByte(String.fromCharCode(next & 0xFF))» tijdens het vormen van de sleutel, terwijl de methode putByte opnieuw de methode fromCharCode aanriep. De dubbele aanroep van fromCharCode («String.fromCharCode( String.fromCharCode(next & 0xFF) )») leidde ertoe dat het grootste deel van de buffer met entropie gevuld raakte met nullen, dat wil zeggen dat de sleutel werd gegenereerd op basis van «willekeurige» gegevens die voor 97% uit nullen bestonden.
Bron: opennet.ru
