CVE-2026-52884
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 4 - wyżej niż 4% wszystkich znanych CVE
Streszczenie
Notepad++ w wersji 8.9.6.1 zawiera podatność polegającą na braku kanonizacji ścieżki przed sprawdzeniem w funkcji isInTrustedDirectory(). Funkcja ta używa sprawdzania prefiksu, co pozwala na obejście zabezpieczenia poprzez ścieżkę zawierającą sekwencję ..\..\ po zaufanym prefiksie, prowadząc do niezaufanej lokalizacji. Luka została załatana w wersji 8.9.6.2.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do uruchomienia dowolnego pliku wykonywalnego spoza zaufanego katalogu, co może prowadzić do wykonania złośliwego kodu w kontekście użytkownika Notepad++.
Rekomendacja
Należy natychmiast zaktualizować Notepad++ do wersji 8.9.6.2 lub nowszej, która zawiera poprawkę eliminującą tę lukę.
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-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.
- CVE-2026-54758Wysokie
Notepad++ to darmowy edytor kodu źródłowego. Przed wersją 8.9.7, funkcja expandNppEnvironmentStrs w pliku RunDlg.cpp kopiuje nazwę zmiennej Notepad++ między $( i ) do bufora stosu o stałym rozmiarze wchar_t str[MAX_PATH] bez ograniczenia indeksu pętli m, co pozwala nazwie o długości 260 lub więcej znaków uszkodzić sąsiednie dane stosu, zakończyć proces przez __report_gsfailure i potencjalnie wykonać kod. Problem naprawiono w wersji 8.9.7.
- CVE-2026-52886Średnie
Notepad++ przed wersją 8.9.7 waliduje atrybut backupFilePath z session.xml za pomocą std::wstring::starts_with względem oczekiwanego katalogu kopii zapasowych bez normalizacji ścieżki, co pozwala na użycie sekwencji katalogów nadrzędnych podczas przywracania w trybie snapshot do odczytu dowolnego pliku czytelnego dla użytkownika poza katalogiem kopii zapasowych do zakładki edytora.
- CVE-2026-73250Średnie
Podatność w instalatorze Notepad++ dla Windows 11 x64 i ARM64 przed wersją 8.9.7 umożliwia wykonanie poleceń PowerShell w kontekście instalatora poprzez wstrzyknięcie składni podwyrażeń w ścieżce instalacji, gdy wybrano komponent menu kontekstowego.
- CVE-2026-52885Średnie
W Notepad++ przed wersją 8.9.6.4 występuje podatność TOCTOU (Time-of-Check Time-of-Use) w obsłudze pliku shortcuts.xml. Sprawdzanie HMAC odbywa się w momencie wykonania polecenia, ale dane polecenia są pobierane z pamięci, która nie jest synchronizowana z plikiem na dysku. Atakujący może podmienić plik przed uruchomieniem, a następnie przywrócić oryginalny, co pozwala na wykonanie złośliwego polecenia.
- CVE-2026-48800Wysokie
Notepad++ przed wersją 8.9.6.1 zawiera podatność polegającą na braku walidacji treści tagu <Command> w pliku shortcuts.xml. Atakujący może wstrzyknąć dowolne polecenie, które zostanie wykonane po kliknięciu przez użytkownika odpowiedniej pozycji w menu Run.
- CVE-2026-48778Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
Notepad++ is a free and open-source source code editor. In v8.9.6.1, isInTrustedDirectory() does NOT canonicalize the path before checking. It uses a prefix-based check (PathIsPrefix() or equivalent) that matches paths starting with trusted directory strings. A path traversal using ..\..\ after a trusted directory prefix passes the check while resolving to an untrusted location. The CVE-2026-48800 patch adds isInTrustedDirectory() validation in Command::run() (RunDlg.cpp) before calling ShellExecute(). This function checks whether the resolved executable path is under a trusted directory. This vulnerability is fixed in 8.9.6.2.

