Уязвимость в Notepad++ позволяла распространять вредоносные обновления

by · Хакер — Xakep.RU · Подписаться

Разработчики популярного текстового редактора Notepad++ выпустили версию 8.8.9, которая устраняет серьезную проблему в механизме автообновления. О баге стало известно, когда пользователи и исследователи заметили, что система обновлений загружает вредоносные исполняемые файлы вместо легитимных апдейтов.

Первые сообщения о проблеме появились на форумах сообщества Notepad++. К примеру, один из пользователей жаловался, что инструмент обновления GUP.exe (WinGUp) запустил подозрительный файл %Temp%\AutoUpdater.exe, который начал собирать информацию о системе.

Вредонос выполнял типичные разведывательные команды и сохранял результаты в файл a.txt:

  • cmd /c netstat -ano >> a.txt
  • cmd /c systeminfo >> a.txt
  • cmd /c tasklist >> a.txt
  • cmd /c whoami >> a.txt

После сбора данных curl.exe использовался для отправки файла на temp[.]sh — сервис для обмена текстом и файлами, который уже был замечен в других вредоносных кампаниях.

Поскольку GUP использует библиотеку libcurl, а не curl.exe, и вообще не собирает подобную информацию, участники форума предположили, что либо пользователь установил неофициальную зараженную сборку Notepad++, либо трафик обновлений был перехвачен.

Чтобы снизить риски перехвата трафика, разработчик Дон Хо (Don Ho) 18 ноября выпустил версию 8.8.8, которая загружает обновления только с GitHub. Однако этого оказалось недостаточно. Поэтому 9 декабря вышла версия 8.8.9 с более жесткой защитой: теперь редактор не установит обновление, если оно не подписано сертификатом разработчика.

«Начиная с этого релиза, Notepad++ и WinGUp проверяют подпись и сертификат загруженных установщиков в процессе обновления. Если проверка завершится неудачей, обновление будет прервано», — говорится в официальном сообщении.

Следует отметить, что в начале декабря известный ИБ-специалист Кевин Бомонт (Kevin Beaumont) предупреждал, что ему известно о трех организациях, пострадавших от инцидентов, связанных с Notepad++.

«Ко мне обращались три компании, у которых возникли проблемы с безопасностью на машинах с установленным Notepad++. Похоже, процессы редактора использовались в качестве точки первичного доступа, — писал Бомонт. — В итоге злоумышленники действовали вручную».

Исследователь отметил, что все пострадавшие организации имеют интересы в Восточной Азии, а вредоносная активность выглядела таргетированной.

Дело в том, что когда Notepad++ проверяет обновления, он обращается к адресу https://notepad-plus-plus.org/update/getDownloadUrl.php?version=<номер_версии>. Если новая версия доступна, сервер возвращает XML с путем к обновлению:

<GUP>

<script/>

<NeedToBeUpdated>yes</NeedToBeUpdated>

<Version>8.8.8</Version>

<Location>https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.8.8/npp.8.8.8.Installer.exe</Location>

</GUP>

Бомонт предположил, что механизм автообновления мог быть скомпрометирован для распространения вредоносных апдейтов, предоставляющих удаленный доступ атакующим.

«Если перехватить и изменить этот трафик, можно перенаправить загрузку на любой адрес, изменив URL в свойстве <Location>, — пояснил эксперт. — Поскольку трафик к notepad-plus-plus.org встречается достаточно редко, можно встроиться в цепочку провайдера и перенаправить загрузку. Но для масштабных операций такого рода нужны серьезные ресурсы».

Также специалист напомнил, что злоумышленники нередко используют вредоносную рекламу для распространения зараженных версий Notepad++, которые в итоге устанавливают малварь.

В официальном бюллетене безопасности Notepad++ также присутствует неопределенность. Дело в том, что расследование еще продолжается, и в настоящее время точный способ перехвата трафика не установлен.

Всем пользователям настоятельно рекомендуется обновить Notepad++ до версии 8.8.9. Также отмечается, что начиная с версии 8.8.7 все официальные бинарники и установщики должны быть подписаны валидным сертификатом. Если пользователь устанавливал старый кастомный корневой сертификат — его следует удалить.