Notepad++ — бесплатный редактор исходного кода с открытым исходным кодом. До версии 8.9.6.1 тег <GUIConfig name="commandLineInterpreter"> в config.xml считывается NppXml::value() (Parameters.cpp:6430) и сохраняется в _nppGUI._commandLineInterpreter без какой-либо проверки, белого списка или проверки цифровой подписи. Когда пользователь запускает IDM_FILE_OPEN_CMD (Файл → Открыть содержащую папку → cmd), NppCommands.cpp:228 создает объект Command с этим значением и вызывает run(), который вызывает ShellExecute (RunDlg.cpp:221) с контролируемой злоумышленником строкой в качестве пути к исполняемому файлу.
Эта уязвимость исправлена в версии 8.9.6.1.
Показать оригинальное описание (EN)
Notepad++ is a free and open-source source code editor. Prior to 8.9.6.1, the <GUIConfig name="commandLineInterpreter"> tag in config.xml is read by NppXml::value() (Parameters.cpp:6430) and stored in _nppGUI._commandLineInterpreter without any validation, whitelist, or digital signature check. When the user triggers IDM_FILE_OPEN_CMD (File → Open Containing Folder → cmd), NppCommands.cpp:228 creates a Command object with this value and calls run(), which invokes ShellExecute (RunDlg.cpp:221) with the attacker-controlled string as the executable path. This vulnerability is fixed in 8.9.6.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Notepad-Plus-Plus Notepad\+\+
cpe:2.3:a:notepad-plus-plus:notepad\+\+:*:*:*:*:*:*:*:*
|
— |
8.9.6.1
|