CVE-2023-40166
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
Notepad++ w wersjach 8.5.6 i wcześniejszych jest podatny na przepełnienie bufora podczas odczytu w funkcji `FileManager::detectLanguageFromTextBegining`. Wykorzystanie tej podatności może prowadzić do ujawnienia informacji o alokacji pamięci wewnętrznej.
Ocena ryzyka
Organizacje mogą być narażone na wyciek wrażliwych informacji z pamięci, co może prowadzić do dalszych ataków lub naruszeń bezpieczeństwa.
Rekomendacja
Zaleca się aktualizację do najnowszej wersji Notepad++, gdy dostępne będą poprawki. W międzyczasie, ograniczenie dostępu do aplikacji może zminimalizować ryzyko.
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. Versions 8.5.6 and prior are vulnerable to heap buffer read overflow in `FileManager::detectLanguageFromTextBegining `. The exploitability of this issue is not clear. Potentially, it may be used to leak internal memory allocation information. As of time of publication, no known patches are available in existing versions of Notepad++.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

