Google устранила опасную RCE-уязвимость Golang в Windows

Google устранила опасную RCE-уязвимость Golang в Windows

Google устранила опасную RCE-уязвимость Golang в Windows

Специалисты Google в этом месяце устранили опасную уязвимость в проекте Golang (многопоточный язык программирования Go). Брешь затронула пользователей Windows, с её помощью можно удалённо выполнить произвольный код.

RCE-уязвимость, получившая идентификатор CVE-2021-3115, существует из-за стандартного поведения Windows при поиске пути. В частности, дыра кроется в команде «go get».

Проблему безопасности обнаружил японский исследователь, известный в Twitter под псевдонимом RyotaK. Как объяснил специалист, баг проявляется в момент, когда пользователь запускает команду «go get» для того, чтобы профетчить репозиторий.

Согласно принципу поиска файлов в Windows, опирающемуся на системную переменную PATH, при использовании, например, команды netstat система будет искать сначала исполняемые файлы netstat.exe, netstat.bat или netstat.* в текущей директории. Если же в ней нет ничего с похожим именем, шелл Windows найдёт системную утилиту netstat, расположение которой можно найти в переменной %PATH%.

Из-за определённых рисков разработчики PowerShell не так давно отказались от такого поведения и начали отдавать приоритет путям в переменной %PATH%, а не текущим недоверенным директориям. На Linux всё это работает несколько иначе.

Однако в случае использования команды «go» Windows отдаст приоритет локальной директории и что более важно — задействует утилиту cgo, предназначенную для генерации пакетов Go, вызывающих код C. Таким образом, в первую очередь поиск компилятора GCC будет производиться в недоверенной локальной директории.

Как объяснил RyotaK, в системах Windows GCC-компилятор допускает запуск вредоносной копии gcc.exe, которую атакующий может подсунуть вместо легитимного компилятора GCC. Именно этот баг, по словам Google, разработчики устранили на этой неделе.

МАКС на прослушке? Реверсер заявил о тайной записи звука во время звонков

Пользователь Хабра под ником zarazaexe опубликовал масштабный разбор APK российского мессенджера МАКС и заявил, что обнаружил в приложении функции скрытой записи звука во время звонков, сбора списка установленных приложений, отслеживания VPN, анализа адресной книги, работы с Mobile ID по открытому HTTP и серверного управления рядом важных параметров.

По словам автора реверс-инжиниринга, часть этих механизмов может использоваться без явного уведомления пользователя.

Контекст тут важный: МАКС с 1 сентября 2025 года стал обязательным для предустановки на продаваемые в России смартфоны и планшеты. В списке обязательного ПО он заменил «VK Мессенджер».

Как отметил zarazaexe, приложение собирает и отправляет на серверы VK-аналитики список установленных пользовательских приложений: packageName и время установки. Если список изменился, улетает полный обновлённый снапшот. Поставили VPN, банк, криптокошелёк или игру — приложение это заметит.

 

Отдельный блок — VPN. Автор пишет, что МАКС умеет определять активное VPN-соединение и по серверному флагу может ограничивать доступ к чатам, звонкам и мини-приложениям. В некоторых сценариях пользователь видит плашку «Отключите VPN, чтобы пользоваться МАКС».

Ещё веселее с адресной книгой. По словам zarazaexe, приложение следит за изменениями контактов через ContentObserver, отправляет размер телефонной книги и собирает хеши номеров, включая людей, которые вообще не зарегистрированы в МАКС. То есть даже если ваш знакомый МАКС не ставил, его номер всё равно может попасть в эту мясорубку в виде хеша.

Автор также описывает механизм принудительного обновления: серверный флаг может отправить пользователя на ForceUpdateScreen, заблокировав сообщения и звонки до установки новой версии с CDN МАКС. Формально это выглядит как защита от устаревших версий, неформально — как рубильник.

В разборе упоминаются и более экзотические вещи: управление NFC из мини-приложений, серверно включаемые фейковые чаты, возможность удалить сообщение из локальной базы пушем, проверка доступности сторонних сервисов вроде Telegram, серверные флаги для поведения TLS, Mobile ID через открытый HTTP, скрытый SDK trace_flow, сбор IP, отладочные команды, аудиодампы звонков и пр.

Самые острые заявления касаются аудио и идентификации устройства. По версии автора, в старых версиях APK присутствовал ML-стек для обработки аудио, включая ASR, KWS и распознавание динамика, а также инфраструктура загрузки моделей с сервера. Для снятия цифрового отпечатка якобы используется Widevine DRM ID — идентификатор из защищённой зоны процессора, который сложно сбросить обычными методами.

RSS: Новости на портале Anti-Malware.ru