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

Windows 11 после обновления может отрезать вас от проводного интернета

Похоже, у сисадминов снова «праздник»: в сообществе r/sysadmin на площадке Reddit обсуждают баг апгрейдов Windows 11, из-за которого рабочие станции после обновления внезапно теряют проводную 802.1X-аутентификацию и остаются без Сети.

Сценарий звучит неприятно: обновляете машину «поверх» (например, с 23H2 на 25H2; люди пишут, что это повторяется и на ежегодных переходах), перезагружаетесь — и всё, Ethernet молчит.

Причина, согласно описанию участников обсуждения, в том, что после апгрейда папка dot3svc оказывается очищенной, а вместе с ней пропадают политики / профили, которые нужны Wired AutoConfig для 802.1X.

Wired AutoConfig (dot3svc) — это тот самый компонент Windows, который держит проводной 802.1X в рабочем состоянии. А его политики лежат как раз в директории C:\Windows\dot3svc\Policies (плюс есть папки для миграции во время апгрейда). И вот когда эти файлы исчезают / не мигрируют корректно, машина не может пройти 802.1X на коммутаторе и получить доступ к корпоративной сети.

Самое злое тут — эффект «замкнутого круга». Без сети устройство не может дотянуться до контроллеров домена, чтобы подтянуть Group Policy и восстановить настройки автоматически. Поэтому в полях лечат по старинке: подключают устройство в «открытый» порт без 802.1X, делают gpupdate /force (часто именно /target:computer), и только потом возвращают на защищённый порт.

Есть и ещё один баг: в отдельных кейсах при апгрейде люди жаловались на проблемы с машинными сертификатами, что особенно больно организациям на EAP-TLS (когда 802.1X завязан на PKI).

При этом самое обидное — на официальных страницах Windows Release Health для 24H2 и 25H2 упоминаний про 802.1X/dot3svc в списке известных проблем сейчас не видно.

Что с этим делать прямо сейчас, если вы планируете массовые апгрейды: многие админы советуют хотя бы заложить «страховку» в процесс — например, заранее сохранить содержимое C:\Windows\dot3svc\Policies и вернуть его после обновления, либо обеспечить доступ к сети через временно открытый порт, чтобы успеть прогнать gpupdate.

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