Menu dostępności

notepad++ wirusy

Otwierasz plik w Notepad++ i od razu uruchamiasz wirusa. Jak to możliwe?

Chyba nie ma osoby w IT, która nie używałaby popularnego programu z tytułu. Dlatego dzisiaj postanowiliśmy opisać pewien związany z nim problem, ponieważ ci, którzy przyzwyczaili się do niego w codziennej pracy, mogą być narażeni na atak ze strony cyberprzestępców.

W poprzednim tygodniu pisaliśmy o podobnym przypadku, ale w aplikacji WinRAR. Tym razem odkryto wiele usterek w aplikacji Notepad++, pozwalających atakującym na wykonanie dowolnego kodu. Możesz otworzyć złośliwy plik w aplikacji, a w tle niekontrolowanie wykona się dowolny kod, który może uruchomić malware na Twoim komputerze.

Krótko o Notepad ++

Notepad++ to edytor kodu źródłowego i zamiennik Notatnika w Microsoft Windows, oparty na C++ typu open source. Działa w architekturze procesorów opartych na x86, x64 i AArch64. Notepad++ obsługuje edycję na kartach i umożliwia pracę z wieloma plikami w jednym oknie. Rozwinął go Don Ho.

Interfejs notepad++

Ponieważ aplikacja jest darmowa, jej bezpieczeństwo z natury może pozostawiać wiele do życzenia. W końcu ktoś wziął ją na warsztat i pokazał podatności.

Podatności w Notepad++

Nowe podatności w Notepad++ odkrył i opublikował SecurityLab. Wykryto w kilka luk w zabezpieczeniach związanych z przepełnieniem bufora, które mogą zostać wykorzystane przez cyberprzestępców do szkodliwych celów. Istotność luk waha się od 5,5 (średnia) do 7,8 (wysoka).

Luki wynikają z przepełnienia bufora zapisu i odczytu bufora sterty w niektórych funkcjach i bibliotekach używanych przez oprogramowanie, zidentyfikowanych przez badacza bezpieczeństwa Gitlab Jaroslava Lobačevskiego (@JarLob).

CVE-2023-40031: Przepełnienie bufora sterty w Utf8_16_Read::convert

Notepad++ używa funkcji o nazwie Utf8_16_Read::convert, która konwertuje kodowanie UTF16 na UTF8. Funkcja ma wadę, ponieważ zakłada, że na każde dwa bajty zakodowane w UTF16 potrzebne są trzy bajty zakodowane w UTF8. Jeśli fragment bajtów jest ustawiony na wartość nieparzystą, np. 9, obliczenia stają się niezgodne, co skutkuje przepełnieniem bufora.

CVE-2023-40036: Przepełnienie globalnego bufora podczas odczytu w CharDistributionAnalytics::HandleOneChar

Luka ta istnieje, ponieważ kolejność indeksów tablicy zależy od rozmiaru bufora mCharToFreqOrder, który podmiot zagrażający może wykorzystać, specjalnie tworząc plik prowadzący do przepełnienia globalnego bufora podczas odczytu bufora. Dodatkowo aplikacja korzysta również z biblioteki uchardet, która wspiera tę operację.

CVE-2023-40164: Przepełnienie globalnego bufora podczas odczytu w nsCodingStateMachine::NextState

Notepad++ używa rozbieżnej kopii biblioteki uchardet, która okazała się podatna na przepełnienie globalnego bufora odczytu. Dzieje się tak, ponieważ indeks tablicy byteCls jest zależny od rozmiaru bufora charLenTable, który może wykorzystać specjalnie spreparowany plik.

CVE-2023-40166: Przepełnienie bufora sterty podczas odczytu w FileManager::detectLanguageFromTextBegining

Otwierając plik, Notepad++ wywołuje funkcję FileManager::loadFile, która przydziela bufor o stałym rozmiarze, a następnie FileManager::loadFileData ładuje pierwszy blok danych do bufora.

Następnie wywołuje metodę DetectLanguageFromTextBegining, aby zidentyfikować typ zawartości punktu początkowego pliku. Błąd istnieje, ponieważ pętla FileManager::detectLanguageFromTextBegining nie sprawdza, czy i+longestlength < dataLen, co powoduje przepełnienie bufora.

Jak żyć z nowymi podatnościami w Notepad++?

Notepad++ nie załatał tych luk (nawet w najnowszej wersji do pobrania na stronie – v8.5.6) ani nie potwierdził jeszcze poprawek usuwających je. Jednakże zgodnie ze skoordynowaną polityką ujawniania informacji, GitLab opublikował luki wraz z weryfikacją koncepcji. Raport z przykładami kodu możecie zobaczyć tutaj.

Do czasu załatania powyższych luk zalecamy ostrożne posługiwanie się programem. W szczególności należy uważać przy otwieraniu zewnętrznych plików o nieznanym pochodzeniu.

Popularne

Nowy wymiar cyberwojny: chińskie operacje wpływu i ataki planowane z użyciem ChatGPT – tło techniczne incydentu

Nowy wymiar cyberwojny: chińskie operacje wpływu i ataki planowane z użyciem ChatGPT – tło techniczne incydentu

W ostatnich dniach świat technologii i cyberbezpieczeństwa obiegła informacja o tym, że chińscy aktorzy - w tym osoby związane ze służbami państwowymi - wykorzystywali system OpenAI ChatGPT nie tylko do...
Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Jak hakerzy wykorzystują AI do budowania fałszywych stron internetowych

Jak hakerzy wykorzystują AI do budowania fałszywych stron internetowych

W erze generatywnej sztucznej inteligencji cyberprzestępcy zyskali możliwość tworzenia przekonująco wyglądających stron internetowych w ciągu kilku minut, bez konieczności posiadania umiejętności programowa...
Keenadu – nowe złośliwe oprogramowanie dla systemu Android wykryte na tysiącach urządzeń!

Keenadu – nowe złośliwe oprogramowanie dla systemu Android wykryte na tysiącach urządzeń!

Badacze z firmy Kaspersky przeanalizowali niedawno odkryte złośliwe oprogramowanie dla systemu Android, które umożliwia operatorom zdalne sterowanie zainfekowanymi urządzeniami. Backdoor, nazwany Keen...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...