Критическая уязвимость в 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 17 научится скрывать содержимое уведомлений от лишних глаз

Google постепенно готовит релиз Android 17, а вместе с ним — одну из самых ожидаемых функций последних лет: нативному App Lock, то есть встроенной блокировке приложений без костылей от производителей и сторонних утилит. Как именно она будет работать, в общих чертах уже понятно, но до недавнего времени оставался важный вопрос — что будет с уведомлениями от заблокированных приложений.

Ответ нашёлся в свежей сборке Android Canary 2601. В коде системы обнаружили новые строки, которые прямо намекают на поведение App Lock:

<string name="app_locked_new_notification">New notification</string>
<string name="app_locked_notification_message">New message</string>

Из этого следует простая, но логичная схема: уведомления от заблокированных приложений будут приходить, но без содержимого. То есть система покажет факт события, но не раскроет его суть.

Например, если вы заблокировали Google Messages и получили СМС, в шторке появится нейтральное уведомление «Новое сообщение» — без текста и деталей. То же самое с другими приложениями: вместо конкретного содержания пользователь увидит просто «Новое уведомление».

Пока не до конца ясно, будет ли отображаться название приложения и его иконка. Но если ориентироваться на уже существующие реализации App Lock у разных производителей, скорее всего, они всё-таки останутся — иначе понять, какое именно приложение подало сигнал, будет сложно.

Разумеется, всё это пока не финал. App Lock официально Google ещё не анонсировала, а Canary-сборки — это тестовый полигон, где многое может измениться. Но направление выглядит вполне здравым: приватность сохраняется, а важные события не теряются.

Если Google доведёт эту идею до релиза в Android 17, встроенный App Lock наконец-то станет полноценным и удобным инструментом.

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