CVE-2026-52885
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacja narażona jest na wykonanie nieautoryzowanych poleceń przez atakującego z lokalnym dostępem do pliku konfiguracyjnego. Może to prowadzić do eskalacji uprawnień, uruchomienia złośliwego kodu lub naruszenia integralności systemu.
Rekomendacja
Należy niezwłocznie zaktualizować Notepad++ do wersji 8.9.6.4 lub nowszej. Dodatkowo warto ograniczyć uprawnienia do pliku shortcuts.xml tylko dla zaufanych użytkowników.
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-52884Wysokie
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.
- 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. Prior to 8.9.6.4, NppCommands.cpp checks the HMAC of the on-disk shortcuts.xml at the moment a user command fires (Time-of-Check). However, the command payload is taken from the in-memory _userCommands vector, which is populated at application startup and never re-synchronized with the on-disk file (Time-of-Use). Swapping shortcuts.xml between startup and command execution causes the HMAC check to validate a clean file while a malicious command runs. An attacker with write access to shortcuts.xml places a malicious version on disk before launch, then immediately restores the legitimate file. The HMAC check at execution time validates the restored legitimate file (check passes), while the malicious payload executes from memory. This vulnerability is fixed in 8.9.6.4.

