Go Back   Carder.life > [ru] Forum for Russians > Новости мирового кардинга



 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 04-02-2025, 12:11 AM

Artifact Artifact is offline
Administrator
Join Date: Jan 2024
Posts: 0
Default


Уязвимость связана с тем, как работает процесс компиляции, когда пользователь запускает команду «go get» для получения репозитория.

Специалисты компании Google устранили опасную уязвимость (CVE-2021-3115) удаленного выполнения кода в языке Go (Golang), затрагивающую пользователей Windows, которые выполняют команду go get.
Уязвимость была обнаружена японским исследователем безопасности, использующим псевдоним RyotaK, и связана с тем, как работает процесс компиляции, когда пользователь запускает команду «go get» для получения репозитория.
Как правило, в системах Windows shell-команда ОС, запускаемая пользователем или программой, заставляет оболочку сначала искать двоичный/исполняемый файл, связанный с этой командой, в текущем каталоге, а затем список каталогов, указанный в системной переменной PATH.
Например, если пользователь введет netstat в командной строке Windows, ОС сначала будет искать исполняемый файл netstat.exe, netstat.bat или другой исполняемый файл netstat. в текущем каталоге, который получит приоритет и будет выполнен. Если в текущей папке нет netstat, тогда оболочка Windows будет искать системную утилиту netstat, расположение которой указано в переменной Windows %PATH%.
Из-за рисков безопасности, связанных с этим поведением, разработчики оболочек Unix и Windows PowerShell ранее отказались от этого поведения по умолчанию и сделали так, чтобы предпочтение отдавалось расположениям переменных %PATH% над ненадежным текущим каталогом при выполнении команд.
Таким образом, запуск netstat в PowerShell приведет к запуску системной утилиты netstat, а не локально присутствующего netstat.bat, поскольку PoweShell отдает приоритет поиску двоичного файла по этому имени в каталогах% PATH%.
Для согласованности двоичные файлы Golang имитируют правила Unix и Windows на соответствующих системах. В связи с этим выполнение следующей команды Go приведет к несколько разному поведению.
В Windows локально присутствующий двоичный файл go получит приоритет, тогда как системы Unix сначала будут искать свою переменную $PATH, чтобы увидеть, существует ли двоичный файл go в одном из доверенных мест.
Эта модель приоритета локального, ненадежного каталога над местоположениями PATH также реализуется вспомогательными библиотеками и компиляторами, включенными в Go, такими как cgo (утилита для генерации пакетов Go). Когда cgo компилирует код C в Windows, в конечном итоге исполняемый файл Golang сначала ищет компилятор GCC в ненадежном локальном каталоге.
Хотя большинство этих вызовов происходит безопасным образом, компилятор GCC вызывается функцией Go exec.Command, которая в Windows позволяет Go запускать вредоносный gcc.exe, включенный злоумышленником в свои источники приложений, а не легитимный компилятор GCC.
 

Tags
NULL

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump




All times are GMT. The time now is 09:26 PM.