Notepad++ выпустил обновление с исправлениями шести уязвимостей в редакторе и плагине MIME Tools. Часть из них связана с обменом сообщениями между процессами Windows, где подделанное сообщение выглядит как отправленное доверенным приложением. От подмены содержимого файла при сохранении с подтверждением UAC не спасает штатный запрос на повышение прав, а вставка двоичных данных показывает чужие фрагменты памяти. Атака требует локального доступа либо открытия специально собранного файла, удалённой эксплуатации без действий пользователя в описаниях уязвимостей нет.
Что меняется после установки 8.9.9
Релиз вышел 6 ноября 2026 года и перечисляет все шесть исправлений явно. Идентификаторы CVE ни одному из них пока не присвоили. При этом часть сопроводительных уведомлений на GitHub не указывает исправленную версию, хотя объявление о выпуске называет корректной именно 8.9.9. Администраторы сверяют оба источника, иначе в отчёте об устранении останутся поля без версии. Кроме исправлений, выпуск включает обычные улучшения: обновление движка подсветки, ускорение поиска по файлам, правки интерфейса.
Поддельные сообщения между процессами
WM_COPYDATA - механизм Windows, через который одно приложение передаёт данные другому. Notepad++ проверял окно-отправитель по дескриптору, который передал инициатор, и не убеждался, что сообщение отправил именно владелец этого окна. Проверка владельца - единственный барьер, отделяющий такие сообщения от доверенных. Достаточно указать существующее окно Notepad++ - и посторонние данные выглядят доверенными.
Следствие - повышение привилегий, но при жёстких условиях. Нужен уже запущенный экземпляр редактора с правами администратора, установленный и инициализированный плагин NppExec и второй легитимный экземпляр из того же пути к исполняемому файлу. Тогда подделанные сообщения плагина выполняют команды с правами привилегированного редактора. Сетевой вектор не описан, и исследователи называют это условным локальным повышением привилегий.
Подмена файла при сохранении под UAC
При сохранении защищённого файла редактор закрывает временный файл, доступный пользователю на запись, а затем привилегированный помощник открывает его заново. Между двумя операциями содержимое успевает измениться. Условие для такой подмены - работа под учётной записью с правами администратора при включённом UAC. Локальное вредоносное ПО подменяет данные - и после одобрения штатного запроса на место защищённого файла попадает чужое содержимое. Произвольный выбор конечного пути исследователи не показали, поэтому последствия ограничены перезаписью того файла, который пользователь и так собирался сохранить.
Память процесса, индексы команд и MIME Tools
Вставка двоичных данных доверяет объявленной длине и не сверяет её с реальным размером буфера обмена. При трёхбайтовом буфере и заявленных 4096 байтах в документ попало ещё 4093 байта из кучи процесса - фрагменты других документов, а иногда и пути файловой системы. Отдельных прав для такой вставки не нужно. Проверка длины закрывает этот канал.
Выход за границы массива касается обработки идентификатора NPPM_MENUCOMMAND. Непроверенное значение служит индексом, и посторонние данные доходят до средства запуска программ Windows. Управлять итоговой строкой команды исследователям не удалось, так что о надёжном выполнении произвольного кода речь не идёт.
Переполнение кучи в MIME Tools возникает в функции SAML Decode: распаковка DEFLATE не ограничена по размеру, а копирование идёт в буферы по 200 000 байт без проверки. Специально собранный вход валит редактор, а в худшем случае приводит к выполнению кода в момент декодирования. Версии плагина по 3.1 включительно закрывает MIME Tools 3.2.
Сведений о реальных атаках на эти уязвимости источники не приводят. Обновление также подтягивает Scintilla до 5.6.9, Lexilla до 5.5.5 и boost до 1.92.0, устраняет несколько утечек памяти. Ставить 8.9.9 нужно вместе с MIME Tools 3.2: редактор не обновляет сторонний плагин сам, а дистрибутив берут из официального объявления о выпуске. Лишние права администратора расширяют сценарий с подделкой сообщений, а список установленных расширений лучше пересмотреть - прошлые кампании вредоносного ПО распространялись через плагины.