Рекомендуем
VPS на Windows и Linux — от 49 ₽ за 7 дней Быстрый запуск сервера на NVMe для сайтов, ботов и других задач.
Выбрать VPS

Go 1.27.3 блокирует недоверенные цепочки сертификатов — исправлена CVE-2026-111943

19 октября 2026 года команда Go выпустила версию 1.27.3 с исправлением CVE-2026-111943 в библиотеке crypto/x509. При проверке сертификатов Go теперь исключает цепочки с определёнными промежуточными центрами сертификации, к работе которых возникли вопросы безопасности. Изменение затрагивает приложения, использующие проверку сертификатов при защищённых соединениях.

Go 1.27.3 блокирует недоверенные цепочки сертификатов
Go 1.27.3 блокирует недоверенные цепочки сертификатов

Проверка сертификатов в Go исключает восемь недоверенных открытых ключей

Защищённое соединение опирается на цепочку сертификатов. Обычно в ней есть сертификат сайта или сервиса, промежуточный центр сертификации и корневой центр, которому доверяет система или приложение. Промежуточный центр подтверждает подлинность сертификатов, выданных от его имени.

В Go 1.27.3 изменена работа crypto/x509 — стандартной библиотеки, которая разбирает и проверяет сертификаты формата X.509. Разработчики добавили список из восьми SHA-256-хешей открытых ключей промежуточных сертификатов, признанных недоверенными. Для сопоставления используется SPKI (Subject Public Key Info) — часть сертификата, содержащая сведения о его открытом ключе.

Теперь метод Certificate.Verify отбрасывает любую найденную цепочку, если один из её сертификатов содержит ключ из этого списка. Если после проверки допустимых цепочек не остаётся, приложение получает ошибку проверки. Если существует другая корректная цепочка без заблокированного ключа, она может пройти проверку.

Исправление затронуло и системные механизмы проверки на Windows и macOS: соответствующие изменения внесены отдельно в платформенный код Go. Поэтому запрет применяется и в сценариях, где проверка сертификатов связана с возможностями операционной системы.

CVE-2026-111943 связана с доверием к центрам сертификации

В официальном сообщении об ошибке разработчики указали на проблемы безопасности, связанные с деятельностью определённого центра сертификации. По этой причине доверие к небольшой группе промежуточных сертификатов прекращено. Задача получила отметки Security и release-blocker, а команда Go прямо призвала оперативно перейти на исправленные версии.

Что меняется для сервиса, написанного на Go? Например, при обращении к внешнему HTTPS API клиент может проверять цепочку сертификатов удалённого сервера. Если в ней окажется один из заблокированных ключей, проверка в обновлённой библиотеке завершится ошибкой. Аналогичный принцип действует в сценариях, где приложение проверяет клиентские сертификаты или самостоятельно использует Certificate.Verify.

Сфера воздействия зависит от конкретных сертификатов и способа их проверки. Описание CVE не содержит подтверждения массовых атак на приложения Go или сведений о том, что злоумышленники уже использовали эти ключи. Известно техническое ограничение: цепочки с указанными ключами больше не считаются допустимыми при проверке через обновлённый crypto/x509.

Исправление получили две поддерживаемые ветки Go

Вместе с Go 1.27.3 от 19 октября вышла Go 1.26.10 с тем же исправлением в crypto/x509. Предыдущие версии, Go 1.27.2 и Go 1.26.9, появились 8 октября и устраняли другой набор проблем безопасности, включая ошибки в обработке HTTP, TLS и шаблонов. Новая публикация последовала через 11 дней и сосредоточена на доверии к сертификатам.

Для работающих сервисов есть ещё одно различие: установленная версия компилятора и версия, с помощью которой собран исполняемый файл, могут не совпадать. Команда go version показывает версию доступного инструментария, а go version -m ./app позволяет посмотреть сведения о сборке конкретного исполняемого файла Go. Замена компилятора сама по себе не изменяет ранее собранный бинарный файл — исправленная стандартная библиотека попадёт в него при новой сборке и развёртывании.

Официальные пакеты Go 1.27.3 доступны для Linux, Windows и macOS, включая варианты для распространённых архитектур x86-64 и ARM64.

Причины ограничения доверия раскрыты частично

В опубликованном описании CVE-2026-111943 нет подробного отчёта об обстоятельствах, из-за которых определённые промежуточные сертификаты стали недоверенными. Не приведены и данные о том, сколько действующих сервисов используют затронутые цепочки.

Техническая граница исправления при этом определена точно: Go 1.27.3 и 1.26.10 фильтруют цепочки по восьми хешам SPKI, включая пути проверки через системные механизмы Windows и macOS. Для приложений, чьи соединения зависели от таких цепочек, результат проверки сертификата после перехода на новые версии может измениться.

Источники

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться