Критическая уязвимость в 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, где проблема уже исправлена.

Минцифры отложило спорную плату за зарубежный интернет свыше 15 ГБ

Минцифры, судя по всему, отложило введение платы за мобильный международный трафик свыше 15 ГБ в месяц. Изначально запуск планировали до 1 мая, затем срок сдвинули на 1 июня, а теперь обсуждается перенос ближе к осени. Будем надеяться, что перенесут ещё дальше.

По данным СМИ, операторы не успевают подготовить системы, провести тесты и нормально объяснить абонентам, за что именно с них будут брать деньги. А объяснять есть что.

Главная проблема в том, что операторы не могут надёжно отделить VPN-трафик от обычного международного соединения.

Поэтому под плату может попасть не только пользователь, который сознательно гоняет весь интернет через зарубежный сервер, но и тот, у кого трафик до российского ресурса внезапно пошёл через соседние страны из-за особенностей маршрутизации.

Человек может сидеть в Новосибирске, открывать российский сайт, а маршрут данных пройдёт через Казахстан, Китай или Монголию. Формально — международный трафик. Фактически — пользователь просто хотел открыть страницу, а не купить себе интернет-турне по Азии.

По обсуждаемой схеме лимит должен составить 15 ГБ в месяц, а всё сверх него может оплачиваться отдельно. В качестве возможной цены назывались 150 рублей за 1 ГБ. Напомним, в марте подсчитали, что 80 ГБ зарубежного трафика в месяц — уже +10 тыс. рублей для россиян.

Есть и юридический нюанс: операторы обязаны предупреждать абонентов об изменениях тарификации за 10 дней. Если бы запуск действительно состоялся 1 июня, уведомления должны были прийти уже 21–22 мая. Раз их нет, версия о переносе выглядит вполне логично.

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