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

Microsoft и автор YellowKey поссорились из-за публичного эксплойта

Microsoft опубликовала рекомендации по снижению риска от эксплуатации уязвимости CVE-2026-45585, известной как YellowKey. Этот баг позволяет обойти BitLocker через среду восстановления Windows с помощью USB-носителя и папки FsTx. Компания предложила временный фикс в виде скрипта для WinRE.

Он удаляет autofstx.exe из значения BootExecute в реестре. Идея простая: этот механизм запускается очень рано при загрузке, в том числе в режиме восстановления, поэтому Microsoft хочет убрать лишнюю возможность выполнить подозрительный код в привилегированной среде.

Скрипт монтирует образ WinRE, правит системный реестр, удаляет нужную запись, если она есть, а затем корректно сохраняет изменения, чтобы не сломать доверие BitLocker. Если записи нет, скрипт просто завершает работу без изменений.

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

Но техническая часть быстро перешла в драму. Microsoft заявила, что публикация демонстрационного эксплойта (proof-of-concept) нарушила практики раскрытия уязвимостей. Исследователь Nightmare-Eclipse, который рассказал о YellowKey, с этим резко не согласился.

Он обвинил Microsoft в ударе по своей репутации и заявил, что компания ранее заблокировала ему доступ к аккаунту MSRC, через который он сообщал об уязвимостях, а затем якобы полностью удалила этот аккаунт без объяснений.

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