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

kernel.org внезапно опустел: на зеркалах случайно удалили архивы ядра Linux

У kernel.org случился редкий инфраструктурный конфуз: из-за ошибки при настройке нового первичного зеркала и изменении системы синхронизации внезапно опустел каталог kernel.org/pub/. Именно там на публичных зеркалах хранились архивы с кодом выпусков ядра Linux, патчи и файлы со списками изменений.

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

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

Команда проекта уже занимается восстановлением данных. Но, как метко заметили участники kernel.org, удаление происходит быстро, а восстановление — медленно. Поэтому пользователей попросили набраться терпения.

Инцидент оказался неприятным не только для тех, кто привык скачивать архивы ядра напрямую с kernel.org. Он задел и сторонние проекты. Например, в Fedora сломались браузерные тесты openQA: много лет назад разработчики выбрали kernel.org как надёжный источник для проверки загрузки файлов.

Исходники ядра не исчезли, инфраструктура восстанавливается, а речь идет именно о зеркалах, но инцидент напоминает, что в больших системах даже аккуратная настройка зеркал может обернуться массовым rm -rf по публичным копиям.

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