CryptoJS вернула слабый генератор ради совместимости и подставила пользователей
Разработчики CryptoJS сначала исправили генератор случайных чисел, а затем вернули небезопасный код, чтобы не ломать совместимость. Результат проявился спустя годы: 2114 скомпрометированных фраз восстановления, 953 затронутых кошелька в двух волнах хищений и минимум 5,69 млн долларов ущерба.
Фразы выглядели случайными, но реальная защита оказалась почти декоративной. Пространство перебора сократилось с 2^128 до 2^39 вариантов, поэтому атакующим хватало для подбора обычного компьютера. Ошибка в библиотеке становилась критической там, где приложения доверяли ей создание ключей и фраз восстановления.
Для снижения риска недостаточно просто обновить приложение. Все фразы, созданные через CryptoJS ниже версии 4.0.0, лучше считать раскрытыми. Средства нужно перевести в новый кошелёк с фразой, созданной криптографически стойким генератором.
#CryptoJS #IllBloom #криптокошельки #уязвимость
@ZerodayAlert
Разработчики CryptoJS сначала исправили генератор случайных чисел, а затем вернули небезопасный код, чтобы не ломать совместимость. Результат проявился спустя годы: 2114 скомпрометированных фраз восстановления, 953 затронутых кошелька в двух волнах хищений и минимум 5,69 млн долларов ущерба.
Фразы выглядели случайными, но реальная защита оказалась почти декоративной. Пространство перебора сократилось с 2^128 до 2^39 вариантов, поэтому атакующим хватало для подбора обычного компьютера. Ошибка в библиотеке становилась критической там, где приложения доверяли ей создание ключей и фраз восстановления.
Для снижения риска недостаточно просто обновить приложение. Все фразы, созданные через CryptoJS ниже версии 4.0.0, лучше считать раскрытыми. Средства нужно перевести в новый кошелёк с фразой, созданной криптографически стойким генератором.
#CryptoJS #IllBloom #криптокошельки #уязвимость
@ZerodayAlert