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

Подпишитесь на новости

Gartner: к 2028 году ИИ-кодинг станет дороже зарплаты разработчика

ИИ пишет код, а счёт за его работу начинает кусаться. По прогнозу Gartner, к 2028 году расходы на разработку с использованием больших языковых моделей обгонят среднюю зарплату программиста. Причины — рост потребления токенов и переход поставщиков к оплате по фактическому использованию.

Токены — единицы данных, которые обрабатывает модель. Чем активнее работают агенты и чем больше информации им передают, тем выше расходы.

Фиксированная подписка уступает место тарификации, при которой бюджет предсказать гораздо сложнее.

По оценке аналитика Gartner Нитиша Тьяги, разработчики обычно оптимизируют скорость и удобство работы. Дисциплина расходов сама собой не появится: без контроля затраты способны расти быстрее продуктивности.

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

Gartner рекомендует заранее определять, какие задачи поручать ИИ и сколько самостоятельности ему давать. Простую работу стоит направлять небольшим дешёвым моделям, сложную — более мощным. Контекст нужно очищать от лишнего, потребление токенов, а перерасход разбирать на ретроспективах.

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