Критическая уязвимость в sha.js ставит под удар миллионы веб-приложений

Критическая уязвимость в sha.js ставит под удар миллионы веб-приложений

Критическая уязвимость в sha.js ставит под удар миллионы веб-приложений

В популярной JavaScript-библиотеке sha.js обнаружили критическую уязвимость, которая может поставить под угрозу безопасность миллионов приложений. Этот модуль используется для реализации алгоритмов SHA и еженедельно скачивается более 14 миллионов раз, так что проблема затрагивает огромное число проектов на Node.js и в браузере.

Баг получил идентификатор CVE-2025-9288 и высокий балл по CVSS — 9,1 из 10. Ошибка связана с тем, что библиотека не проверяла корректность входных данных. В итоге злоумышленник может управлять тем, как вычисляется хеш, и добиваться крайне опасных последствий — от коллизий до восстановления приватных ключей.

Какие атаки возможны:

  • Сброс состояния хеша. Через специальные конструкции наподобие { length: -x } можно «отмотать» внутреннее состояние и даже превратить помеченный хеш в непомеченный, лишив его защиты.
  • Коллизии и неверные значения. Поддельный ввод вроде { length: buf.length, ...buf, 0: buf[0] + 256 } может дать тот же хеш, что и оригинальный буфер, хотя данные различаются. Это приводит к расхождениям с другими библиотеками, например, bn.js.
  • Отказ в обслуживании. Ввод вида { length: '1e99' } заставляет функцию зависнуть, фактически обрушивая приложение.
  • Криптографическая катастрофа. Самый опасный сценарий связан с генерацией nonce через хеширование. Если разные значения дают одинаковый хеш, но интерпретируются по-разному, можно восстановить приватные ключи.

Разработчикам настоятельно рекомендуют как можно скорее обновиться до версии 2.4.12, где проблема уже исправлена.

Алиса всё-таки слышит звук до команды, Яндекс объяснил зачем

Яндекс выпустил большой технический ответ на разбор своих Android-приложений, автор которого заподозрил их в сборе аудио, контактов, данных банковских карт и другой конфиденциальной информации. В компании заявили: часть механизмов обнаружена верно, но выводы о тотальной слежке собраны не по адресу.

Главный вопрос — микрофон. По версии Яндекса, Алиса локально ждёт активационную фразу только при открытом приложении и не записывает разговоры непрерывно.

Однако в оперативной памяти действительно работает циклический аудиобуфер: примерно 1,5 секунды до активации и 0,5 секунды после неё. Часть звука перед командой может отправляться на сервер для проверки качества распознавания.

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

Доступ к контактам Яндекс объяснил голосовыми командами вроде «Позвони маме». При первой синхронизации на сервер может передаваться вся адресная книга, затем — только изменения. Имена и номера не хешируются: компании нужны исходные значения для распознавания речи.

В Яндексе подчёркивают, что приложение не читает переписку в WhatsApp (принадлежит корпорации Meta, признанной экстремисткой и запрещённой в России), Telegram и Viber, а видит лишь способы связи, опубликованные мессенджерами в системной адресной книге Android.

Обвинения в небезопасной обработке банковских карт компания также отвергла. Их реквизиты, как утверждается, уходят напрямую в изолированный PCI DSS-контур, а не на обычные серверы приложения.

Проверку VPN-интерфейса объяснили сетевой диагностикой, резервный DNS — обходом сбоев провайдера, а список других приложений в манифесте — стандартным механизмом Android.

Напомним, на днях Яндекс также рассказал, что в корпорации создали отдельный язык для расчёта стоимости поездок.

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