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

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

Yandex B2B Tech объединила полнотекстовый и векторный поиск в одном запросе

Найти точный номер документа и одновременно разобраться, что пользователь имел в виду, — теперь обе задачи можно решать в YDB. Yandex B2B Tech добавила в базу данных гибридный поиск, объединяющий полнотекстовый и векторный подходы.

Как объясняют разработчики в блоге YDB, два вида поиска дополняют друг друга.

Например, в запросе о выплате по страховке номер полиса нужно найти точно, а описание страхового случая — сопоставить по смыслу, даже если в документах использованы другие формулировки.

Полнотекстовый поиск отвечает за слова, названия и коды, векторный — за смысловую близость. YDB объединяет результаты и ранжирует их внутри одного SQL-запроса.

Практический бонус для компаний: данные остаются в одной базе. Для такого сценария не нужно отдельно поддерживать поисковый движок и векторную базу, а затем следить, чтобы информация между ними не разъехалась. Индексы обновляются вместе с данными в рамках одной транзакции.

Технология рассчитана на чат-ботов, рекомендательные сервисы и ИИ-ассистентов, которым мало простого совпадения слов. Особенно когда приходится искать по технической информации, где точный код детали и человеческое описание проблемы одинаково важны.

Гибридный поиск доступен в корпоративной версии YDB 26.3 для развёртывания на собственной инфраструктуре и в облачном Managed Service for YDB.

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