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, разработчики устранили на этой неделе.

Anti-Malware TelegramПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

Эксперты взялись за главную дыру Google Chrome — JavaScript-движок V8

Как известно, JavaScript-движок V8, используемый в браузере Google Chrome, не раз подвергался критике со стороны специалистов в области кибербезопасности. Эксперты отмечали большое количество уязвимостей в V8, однако теперь появилась новая инициатива, задача которой — усилить безопасность движка JavaScript.

В этом году разработчики Google пропатчили множество уязвимостей нулевого дня (0-day) в V8. В апреле, например, корпорация подтвердила наличие серьёзного бага CVE-2021-21224, используемого в реальных атаках.

Чтобы как-то решить проблему с JavaScript-движком, Сэмюэль Гросс из Google Project Zero предложил своё видение песочницы для V8, которая должна защитить память от опасных уязвимостей.

«Баги V8, как правило, позволяют создать нетипично мощные эксплойты. Более того, эти дыры вряд ли можно устранить посредством безопасных языков программирования (например, Rust) или функциями безопасности вроде MTE и CFI. В результате V8 становится лакомым куском для злоумышленников», — объясняет специалист.

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

Основная проблема здесь кроется в JIT-компиляторах, которые можно использовать для запуска злонамеренного кода, повреждающего память. Тем не менее введение дополнительных уровней защиты может сказаться на производительности, признаёт эксперт.

Anti-Malware TelegramПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

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