CVE-2026-48778
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 68 - wyżej niż 68% wszystkich znanych CVE
Streszczenie
Notepad++ przed wersją 8.9.6.1 zawiera podatność polegającą na braku walidacji wartości tagu <GUIConfig name="commandLineInterpreter"> w pliku config.xml. Atakujący może zmodyfikować ten plik, aby przy otwarciu konsoli (File → Open Containing Folder → cmd) uruchomić dowolne polecenie z uprawnieniami użytkownika.
Ocena ryzyka
Ryzyko polega na możliwości zdalnego lub lokalnego wykonania dowolnego kodu po dostarczeniu spreparowanego pliku konfiguracyjnego. Organizacja narażona jest na przejęcie kontroli nad stacjami roboczymi, kradzież danych lub instalację złośliwego oprogramowania.
Rekomendacja
Należy niezwłocznie zaktualizować Notepad++ do wersji 8.9.6.1 lub nowszej. Dodatkowo warto ograniczyć uprawnienia do zapisu pliku config.xml oraz stosować mechanizmy kontroli integralności plików konfiguracyjnych.
Inne podatności w Notepad++
Zobacz wszystkie- CVE-2014-9456Wysokie
Przepełnienie bufora w NotePad++ w wersji 6.6.9 umożliwia zdalnym atakującym wywołanie nieokreślonego wpływu poprzez długi atrybut Time w elemencie Event w pliku XML.
- CVE-2023-34159Krytyczne
W aplikacji Notepad występuje podatność związana z niewłaściwą kontrolą uprawnień. Skuteczne wykorzystanie tej podatności może prowadzić do eskalacji uprawnień, co wpływa na dostępność i poufność.
- CVE-2026-86056Średnie
Notepad++ to darmowy edytor kodu źródłowego o otwartym kodzie. W wersjach przed 8.9.8 procedura obsługi NPPM_SAVESESSION w PowerEditor/src/NppBigSwitch.cpp konwertuje lParam na wskaźnik sessionInfo i dereferencjonuje jego składowe nbFile, files i sessionFilePathName bez sprawdzania wartości null. Proces działający na tym samym lub wyższym poziomie integralności Windows na tym samym pulpicie może wysłać NPPM_SAVESESSION z pustym lParam, natychmiast kończąc Notepad++ i powodując odmowę usługi oraz utratę niezapisanych dokumentów. Problem naprawiono w wersji 8.9.8.
- CVE-2026-86054Wysokie
Notepad++ w wersji przed 8.9.8 zawiera przepełnienie bufora stosu w funkcji NppParameters::writeSession, ponieważ ścieżka sesji pochodząca z opcji -settingsDir= jest kopiowana do bufora backupPathName[MAX_PATH] bez sprawdzania długości. Zbyt długa ścieżka katalogu ustawień powoduje przekroczenie bufora podczas zapisu sesji, co kończy się zakończeniem procesu przez mechanizm stack canary i odmową usługi.
- CVE-2026-85995Wysokie
Notepad++ w wersjach od 8.9.7 do 8.9.8 pozwala ścieżce aktualizacji i weryfikacji podpisu zaakceptować zmodyfikowany plik GUP.exe, którego metadane certyfikatu pozostają obecne mimo nieprawidłowego skrótu Authenticode. Atakujący mogący podmienić plik powiązany z aktualizatorem może spowodować uruchomienie zmodyfikowanego kodu, gdy użytkownik wywoła aktualizację, choć sama podatność nie zapewnia zdalnego wykonania kodu.
- CVE-2026-85288Średnie
Notepad++ to darmowy edytor kodu źródłowego o otwartym kodzie. W wersjach przed 8.9.8 Notepad++ niekompletnie egzekwuje walidację HMAC pliku shortcuts.xml, ponieważ WM_MACRODLGRUNMACRO, punkt wejścia 'Run a Macro Multiple Times', wywołuje macroPlayback() bez walidacji używanej przez command(). Zmodyfikowane makro w shortcuts.xml, które jest blokowane przez menu Macro lub skrót klawiszowy, może zostać wykonane przez okno wielokrotnego uruchamiania i wywołać wewnętrzne komendy Notepad++, w tym komendy uruchamiające zewnętrzne programy, w kontekście bieżącego użytkownika. Problem naprawiono w wersji 8.9.8.
- CVE-2026-85279Wysokie
Notepad++ w wersji przed 8.9.8 zawiera przepełnienie bufora stosu w funkcji PluginsManager::loadPluginFromPath, ponieważ wynik GetLexerCount() dostarczony przez wtyczkę steruje pętlą zapisującą do tablicy containers[30] bez egzekwowania limitu NB_MAX_EXTERNAL_LANG. Złośliwa lub przejęta wtyczka zgłaszająca więcej niż 30 lekserów może zapisać poza tablicą stosu i uszkodzić dane kontrolne, co może umożliwić wykonanie dowolnego kodu w kontekście procesu Notepad++.
- CVE-2026-77605Wysokie
Notepad++ w wersji przed 8.9.8 w akcji Folder as Workspace Run by system może rozwiązać inny plik sąsiedni niż wybrany przez użytkownika. Gdy atakujący umieści skrypt polecenia o nazwie będącej ścieżką wybranego pliku tekstowego z dodanym rozszerzeniem .cmd, a użytkownik wywoła Run by system na tym pliku w Windows 10 lub 11, Notepad++ może wykonać sąsiedni skrypt jako bieżący użytkownik zamiast otworzyć wybrany plik.
- CVE-2026-71858Średnie
Notepad++ to darmowy edytor kodu źródłowego o otwartym kodzie źródłowym. Przed wersją 8.9.7, makra ładowane z kontrolowanego przez atakującego pliku shortcuts.xml omijają walidację HMAC stosowaną do UserDefinedCommands i mogą wywoływać akcje Scintilla oraz wewnętrzne polecenie Open in Default Viewer w procesie Notepad++ z podniesionymi uprawnieniami, co umożliwia modyfikację chronionych plików i warunkowe wykonanie poleceń z podniesionymi uprawnieniami, gdy lokalny atakujący wpływa na settingsDir, a użytkownik uruchomi makro. Problem naprawiono w wersji 8.9.7.
- CVE-2026-57233Wysokie
Notepad++ to darmowy edytor kodu źródłowego. Przed wersją 8.9.7, funkcja WinGup decompress łączy niezaufane nazwy wpisów ZIP z unzipDestTo bez walidacji kanonicznej, co pozwala wpisowi takiemu jak ../mimeTools/mimeTools.dll nadpisać DLL w katalogu sąsiedniej wtyczki i wykonać kod kontrolowany przez atakującego przy następnym załadowaniu wtyczki. Problem naprawiono w wersji 8.9.7.
Oryginalny opis (angielski, źródło NVD)
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

