Баг в функции JavaScript подвергает адреса Bitcoin риску брутфорса

Баг в функции JavaScript подвергает адреса Bitcoin риску брутфорса

Баг в функции JavaScript подвергает адреса Bitcoin риску брутфорса

Специалисты в области кибербезопасности предупреждают, что старые адреса Bitcoin, сгенерированные в браузере или через приложения на основе JavaScript, могут содержать недостаток, благодаря которому злоумышленники могут провести атаку брутфорс закрытых ключей, завладеть кошельками пользователей и украсть их средства.

Уязвимость существует из-за функции JavaScript SecureRandom(), которая используется для генерации случайного Bitcoin-адреса и его закрытого ключа (некого аналога пароля). Вся проблема заключается в том, что эта функция не генерирует по-настоящему случайные данные.

«Функция будет генерировать ключи, которые, несмотря на их длину, имеют менее 48 бит энтропии. Таким образом, на выходе будет не более тех же 48 бит. Затем SecureRandom() запускает номер, который он получает через устаревший алгоритм RC4, что еще снижает количество бит энтропии. Следовательно, ваш ключ становится более предсказуем», — уточнил обнаруживший брешь эксперт.

Напрашивается вывод — все адреса Bitcoin, созданные с использованием функции SecureRandom(), уязвимы для атак брутфорс, с помощью которых можно угадать закрытый ключ учетной записи.

Специалисты отмечают, что уязвимы все адреса Bitcoin, созданные с использованием BitAddress до 2013 года, а также Bitcoinjs до 2014 года. Wallet-приложения, использующие старые версии jsbn.js, по-прежнему генерируют слабые секретные ключи, которые легко сбрутфорсить.

Критическая уязвимость в плагине WPvivid Backup затронула 900 000 сайтов

Уязвимость, выявленная в популярном WordPress-плагине для создания резервных копий, позволяет без аутентификации загрузить на сайт вредоносный код PHP и запустить его на исполнение. Патч включен в состав WPvivid Backup & Migration 0.9.124.

Уязвимости подвержены все прежние версии продукта. Ввиду высокой опасности и масштабности проблемы (на счету WPvivid Backup уже свыше 900 тыс. установок) пользователям настоятельно рекомендуется произвести обновление.

Правда, в блог-записи Wordfence сказано, что CVE-2026-1357 (9,8 балла CVSS) критична лишь для тех, у кого настройки плагина предусматривают обработку сгенерированным ключом — в обеспечение загрузки резервных копий с других сайтов. По умолчанию эта возможность отключена, а срок действия ключа ограничен 24 часами.

Согласно описанию, причин появления уязвимости две: неадекватная обработки ошибок при расшифровке по RSA и отсутствие санации пути при записи загруженных файлов.

Как оказалось, когда плагин тщетно пытался расшифровать сеансовый ключ, он не завершал выполнение, а передавал ложное значение $key в phpseclib для инициализации шифрования.

Криптобиблиотека воспринимала его как строку нулевых байтов, что открыло возможность для шифрования полезной нагрузки дефолтным, легко угадываемым 0-байтовым ключом.

 

Ситуацию усугубило отсутствие проверок типа файлов и их расширений в функции send_to_site(). Это провоцировало выход за пределы защищенного каталога резервных копий — загрузку на сервер произвольного PHP-кода с записью в публично доступные места с тем, чтобы он каждый раз отрабатывал в браузере.

Апдейт, устраняющий эти недостатки, вышел 28 января. Автор опасной находки получил 2145 долларов в рамках программы Wordfence Bug Bounty.

RSS: Новости на портале Anti-Malware.ru