Критическая уязвимость в Notepad++ до версии 8.9.4 позволяет извлекать данные из памяти

notepad++

Разработчики Notepad++, одного из самых популярных текстовых редакторов среди программистов и ИТ-специалистов, устранили опасную уязвимость, получившую идентификатор CVE-2026-3008. Проблема затронула версию 8.9.3 и была обнаружена исследователем безопасности Хазли Самсудином, который сообщил о ней через национальный CERT Сингапура. Агентство кибербезопасности Сингапура (CSA) уже выпустило срочное предупреждение, призывая всех пользователей немедленно установить обновление до версии 8.9.4. Эта новость особенно важна для компаний, где Notepad++ входит в стандартный набор инструментов разработчиков.

Уязвимость CVE-2026-3008

Причина уязвимости кроется в том, как редактор обрабатывает файлы конфигурации локализации и языковых пакетов. Речь идет о файле "nativeLang.xml", который содержит настройки интерфейса. Когда пользователь запускает встроенную функцию "Найти в файлах", приложение не проверяет должным образом данные, расположенные в параметре "find-result-hits" этого XML-файла. Такая небрежность в коде приводит к классической проблеме - уязвимости форматной строки. Простыми словами, злоумышленник может подложить пользователю вредоносную версию "nativeLang.xml", в которой обычные строковые метки заменены на специальные символы-шаблоны.

Эти шаблоны форматной строки позволяют манипулировать памятью программы. Например, если вставить простую конструкцию "%s", Notepad++ аварийно завершит работу при попытке поиска текста. Это создает локальный отказ в обслуживании (DoS - полная недоступность приложения). Однако гораздо опаснее другой вариант: используя символы вроде "%x" или "%08lx", злоумышленник заставляет программу выдать содержимое внутренних регистров процессора и стековой памяти. Утечка таких данных - это не просто техническая мелочь. Получив адреса памяти, хакер может обойти встроенную защиту операционной системы - рандомизацию адресного пространства (ASLR - механизм, который случайным образом размещает исполняемый код в памяти). Без ASLR атакующему становится гораздо проще выполнить произвольный код или внедрить другую вредоносную нагрузку.

Для успешной атаки злоумышленнику необходимо обманом заставить жертву заменить оригинальный файл "nativeLang.xml" на поддельный. Этот файл обычно хранится в папке пользователя (AppData) или в корневой папке портативной версии Notepad++. После замены вредоносная нагрузка активируется автоматически, как только владелец ПК воспользуется командой "Найти все в текущем документе". Иными словами, ничего подозрительного пользователь не заметит до момента выполнения поиска.

Разработчики Notepad++ оперативно выпустили патч в версии 8.9.4. Они исправили способ, которым приложение разбирает строковые значения во время поиска. Теперь любые шаблоны форматной строки обрабатываются безопасно. Всем пользователям настоятельно рекомендуется обновить редактор немедленно. Также важно помнить, что скачивать пользовательские XML-пакеты языков или модификации интерфейса следует только из официальных или проверенных источников. ИТ-отделам, управляющим массовым развертыванием Notepad++, стоит в приоритетном порядке установить версию 8.9.4 на все корпоративные конечные точки.

Последствия данной уязвимости могут быть весьма серьезными. Notepad++ используется миллионами разработчиков, системных администраторов и аналитиков по всему миру. Даже если атака не приведет к немедленной утечке больших объемов данных, утечка адресов памяти из редактора может стать первым шагом для более сложной атаки на всю систему. Кроме того, сбой приложения из-за DoS-нагрузки может прервать рабочий процесс и привести к потере несохраненных данных.

Таким образом, своевременное обновление до версии 8.9.4 - это не просто рекомендация, а необходимая мера для поддержания безопасности рабочих станций. Организациям стоит включить Notepad++ в список обязательных для обновления приложений, особенно если редактор используется для работы с критическими файлами или кодом. Игнорирование этой уязвимости может позволить злоумышленникам получить контроль над памятью процесса, что в долгосрочной перспективе чревато полноценной компрометацией машины.

Ссылки

Комментарии: 0