Вышло обновление текстового редактора Notepad++ версии 8.9.7 . Релиз закрывает пять уязвимостей, три из которых отслеживаются по идентификаторам CVE, а ещё две пока не получили такие номера и представлены в виде предупреждений безопасности GitHub. Проблемы затрагивают обработку файлов сессий, раскрытие переменных окружения, извлечение ZIP-архивов, проверку макросов и процесс установки под Windows. Разработчики рекомендуют обновить приложение всем пользователям, особенно тем, кто работает с непроверенными файлами или использует общие конфигурации.
Детали уязвимостей
Наиболее серьёзной из отслеживаемых уязвимостей стал стековый переполнение CVE-2026-54758 в функции expandNppEnvironmentStrs. Когда входные данные превышают размер выделенного в стеке буфера, программа может аварийно завершиться, допустить повреждение памяти или, при определённых условиях, выполнить произвольный код. Практическая опасность этой проблемы зависит от того, насколько легко злоумышленник может передать вредоносную строку в функцию раскрытия переменных окружения. В контексте редактора это означает, что атакующий должен сначала предоставить файл, содержащий специально сформированные значения переменных - например, загрузить через функцию открытия конфигурации или сессионный файл.
Вторая критическая уязвимость (CVE-2026-57233) относится к типу "Zip Slip" - повреждению пути при извлечении архива. Механизм обновления WinGUp некорректно проверял имена вложенных файлов, что позволяло архивной записи выйти за пределы целевой папки. Вставив последовательности типа "../" в имя элемента архива, можно было перезаписать файлы в других директориях, доступных текущему пользователю, в том числе в путях конфигурации приложения или каталогах запуска. Подобные атаки нередко используются для закрепления в системе или подмены библиотек.
Ещё одна уязвимость, CVE-2026-52886, связана с обходом проверки пути доступа к файлу резервного копирования в session.xml. Разработчики использовали функцию starts_with для верификации того, что путь начинается с разрешённой директории. Однако после нормализации или обработки символических ссылок такой путь мог разрешаться в иное расположение. Злоумышленник мог подготовить вредоносный сессионный файл, который обходит ограничения и позволяет читать или перезаписывать произвольные файлы под учётной записью пользователя.
Две оставшиеся проблемы пока не получили идентификаторов CVE, но описаны в GitHub Security Advisories. Первая относится к файлу shortcuts.xml и связана с обходом проверки HMAC для макросов. Контрольная сумма должна была гарантировать целостность защищённых макросов, но при её обходе поддельные определения макросов могли быть приняты как легитимные. Поскольку макросы могут автоматизировать действия в редакторе, нарушение целостности конфигурации представляет риск для тех, кто импортирует чужие настройки или работает в среде с общими профилями.
Вторая уязвимость без CVE затрагивает установщик Notepad++: в процессе установки параметры, передаваемые в PowerShell, обрабатывались без должной проверки аргументов и экранирования. Это открывало возможность для внедрения команд PowerShell в контексте пользователя, запускающего установку. Чтобы снизить риск, рекомендуется загружать установочные пакеты только из официальных каналов и своевременно устанавливать патчи.
Помимо исправлений безопасности, версия 8.9.7 включает ряд улучшений. Функция "Folder as Workspace" теперь запоминает развёрнутое или свёрнутое состояние папок между сеансами. Инкрементальный поиск показывает номер текущего совпадения и общее количество (например, "3/10"). Внесены исправления для зависаний, вызванных символическими ссылками в корне рабочей области, исчезающих или дублирующихся файлов, а также решена проблема с зависанием при поиске в файлах. Обновлены библиотеки Scintilla 5.6.4 и Lexilla 5.5.1, pugixml до версии 1.16. Добавлена поддержка полного разбора ANSI Escape-последовательностей, исправлено масштабирование иконок панели инструментов на экранах с высоким разрешением, улучшен выбор цвета, который теперь запоминает пользовательские настройки между сеансами.
Пользователям необходимо установить Notepad++ 8.9.7, загрузив его с официального сайта проекта. Обновление существующей установки выполняется через встроенный механизм или прямым скачиванием установщика. Следует проявлять осторожность при обработке неподписанных ZIP-файлов, сессионных файлов и конфигураций ярлыков, полученных из ненадёжных источников.
Выпуск этого обновления подтверждает общую тенденцию разработчиков уделять повышенное внимание безопасности даже в, казалось бы, простых инструментах. Notepad++ продолжает оставаться популярным редактором для работы с кодом и текстом, и каждая новая версия закрывает всё больше потенциальных векторов атаки, связанных с обработкой пользовательских данных.
Ссылки
- https://community.notepad-plus-plus.org/topic/27604/notepad-release-8.9.7
- https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-gv94-327x-2gc5
- https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-rqfm-pw34-r7j6
- https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-hjxw-84rf-wg5r
- https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-f4rj-vqq4-wvg4
- https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-gp2r-262h-9hgf