


19 октября 2026 года команда Go выпустила версии 1.27.3 и 1.26.10 с исправлением безопасности в crypto/x509. Пакет перестаёт принимать цепочки, содержащие небольшой набор промежуточных сертификатов, к работе с которыми у разработчиков возникли конкретные претензии по безопасности. Команда Go настоятельно рекомендует обновиться немедленно.
Для читателей Mentoring.digital разберём, что изменилось в проверке сертификатов и как довести обновление до реально работающего сервиса.
В официальной задаче исправление обозначено как CVE-2026-111943. Метод Verify теперь отфильтровывает цепочки с указанными промежуточными сертификатами, чтобы не возвращать их вызывающему коду.
Речь идёт о конкретной мере ограничения доверия. Объявление не даёт оснований утверждать, что все сертификаты стали небезопасными или что любой сервис на Go уже был взломан. Установленный факт другой: в стандартную библиотеку внесено срочное изменение проверки, и оно доступно в двух поддерживаемых ветках.
Не смешивайте этот выпуск с большим релизом Go 1.27 или предыдущим обновлением 1.27.2. В журнале 1.27.3 указан именно crypto/x509; новые возможности языка не являются причиной сегодняшней рекомендации обновиться.
Обновлённая среда разработки и уже собранная программа представляют разные этапы поставки. Чтобы приложение получило изменение стандартной библиотеки, нужно пересобрать его исправленной версией Go и развернуть полученный артефакт. Проверьте также образ сборщика в CI: локальная установка нового Go не меняет его автоматически.
Версию доступной команды показывает go version. Для собранной программы можно вызвать go version с путём к файлу; флаг -m дополнительно выводит встроенные сведения о модулях, когда они доступны. Это помогает проверить именно артефакт, а не полагаться на имя каталога или контейнерного тега.
Если приложение по-особому обрабатывает ошибки TLS или использует собственную логику проверки сертификатов, разберите этот участок отдельно. С небольшим воспроизводимым примером можно обратиться к ментору по Go для разбора сетевого кода.
Для команды полезно зафиксировать, где меняется версия инструментария и кто проверяет выпуск. Такой путь от CI до работающего сервиса можно проработать с наставником по сборке и развёртыванию. Проверка завершается на опубликованном артефакте и его работе, а не на сообщении об установке Go.