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

Apple выложила код постквантовой криптографии на GitHub

Apple продолжает строить цифровой бункер на случай, если квантовые компьютеры однажды начнут вскрывать современное шифрование. Компания выложила на GitHub исходники corecrypto (своей низкоуровневой криптографической библиотеки) и подробно рассказала, как проверяет защиту iPhone, macOS от будущих квантовых атак.

Вообще вся эта история началась ещё в 2024 году с появления PQ3 в iMessage.

Тогда Apple впервые публично включила постквантовую защиту: мессенджер начал использовать новые алгоритмы не только при старте переписки, но и при регулярном обновлении ключей шифрования.

Корпорация заранее готовится к моменту, когда квантовые машины смогут ломать классическую криптографию быстрее, чем пользователи успеют придумать пароль «12345678».

Теперь Apple пошла дальше и открыла код corecrypto — библиотеки, которая отвечает за шифрование, цифровые подписи, хеширование и генерацию случайных чисел в экосистеме компании. Именно через неё работают Security framework, CryptoKit и CommonCrypto.

В репозитории появились реализации ML-KEM и ML-DSA — двух постквантовых алгоритмов, которые Apple выбрала для своей криптографии. Первый нужен для безопасного обмена ключами шифрования, второй — для цифровых подписей. Оба стандарта утверждены NIST как защита от угроз будущих квантовых компьютеров.

Но самое интересное — не сами алгоритмы, а то, как Apple всё это проверяет.

Компания выдала огромный технический разбор о том, как тестировала код перед публикацией. И судя по описанию, внутри Apple криптографию гоняют так, будто готовят запуск ядерного реактора. Обычных тестов им оказалось мало: пришлось строить собственную систему формальной верификации, потому что существующие инструменты не покрывали все сценарии.

Проблема в том, что corecrypto работает сразу на куче устройств с разными версиями Apple Silicon, а часть кода написана не только на C, но и вручную оптимизирована под ARM64.

В итоге Apple утверждает, что формальная верификация уже помогла найти критические ошибки, которые обычное тестирование не заметило бы. Например, компания обнаружила пропущенный шаг в ранней реализации ML-DSA. В редких случаях это могло приводить к некорректным криптографическим вычислениям без каких-либо предупреждений. Заодно инженеры нашли ошибку даже в стороннем математическом доказательстве и самостоятельно её исправили для своих параметров.

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