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

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...
Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Uwaga, administratorzy oraz zespoły bezpieczeństwa Splunk! Sześć krytycznych luk w Splunk Enterprise – analiza i rekomendacje

Splunk opublikował ważne informacje, dotyczące szeregu nowych podatności w swoich produktach Splunk Enterprise i Splunk Cloud Platform. Luki mogą umożliwić atakującym wykonanie nieautoryzowanego kodu Ja...
Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

W środę 9 października użytkownicy platformy Microsoft Azure na całym świecie doświadczyli poważnych zakłóceń. Wiele usług stało się niedostępnych, a administratorzy nie mogli nawet zalogować się do portalu...
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...
Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Niedawno załatana wysoce poważna luka w zabezpieczeniach VMware jest wykorzystywana jako zero-day od października 2024 roku do wykonywania kodu z podwyższonymi uprawnieniami. Taką informacją podzieliło się w...