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

Уязвимость в Notepad Windows 11 позволяла запускать код через Markdown

В Windows 11 закрыли довольно необычную уязвимость, затрагивающую родной «Блокнот». Проблема получила идентификатор CVE-2026-20841 и классифицирована как уязвимость удалённого выполнения кода (RCE). Проблема заключалась в способе обработки Markdown.

Атакующий мог создать специальный Markdown-файл (.md) с хитро оформленной ссылкой — например, на локальный исполняемый файл (через file://) или с использованием нестандартных URI вроде ms-appinstaller://.

Если пользователь открывал такой файл в «Блокноте» и нажимал Ctrl+клик по ссылке, программа запускала указанный файл без привычного предупреждения Windows.

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

После февральского набора патчей Microsoft изменила поведение «Блокнота». Теперь при попытке открыть ссылки с нестандартными протоколами — file:, ms-settings:, ms-appinstaller:, mailto: и другими — появляется предупреждающее окно. Без подтверждения пользователя запуск не произойдёт. Ссылки формата http:// и https:// открываются как обычно.

Интересно, что полностью блокировать нестандартные ссылки компания не стала, поэтому в теории пользователя всё ещё можно уговорить нажать «Да» в диалоге. Но теперь это уже вопрос социальной инженерии, а не «тихого» запуска без предупреждений.

Хорошая новость в том, что «Блокнот» в Windows 11 обновляется через Microsoft Store автоматически. Так что большинство пользователей, скорее всего, уже получили патч.

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