Go блокирует восемь промежуточных сертификатов в crypto/x509

Проект Go опубликовал в трекере задачу #82345 (CVE-2026-111943) с мерой защиты в пакете crypto/x509. Разработчики блокируют доверие к небольшому набору промежуточных сертификатов «из-за конкретных проблем безопасности, связанных с их работой». Функция Verify теперь отфильтровывает цепочки сертификатов, содержащие эти промежуточные сертификаты, так что они не возвращаются вызывающему коду. Авторы задачи настоятельно рекомендуют немедленно обновиться до выпуска с исправлением.
Задача шла по срочному (URGENT) треку и сначала отслеживалась во внутреннем трекере. В обсуждении бот gopherbot по просьбе открыл бэкпорты: #82348 для ветки Go 1.26 и #82349 для Go 1.27. Исправления оформлены тремя изменениями (CL) с названием «crypto/x509: distrust a handful of intermediates» (в переводе: «перестать доверять нескольким промежуточным сертификатам»), для основной ветки и для release-branch.go1.26 и release-branch.go1.27. Название задачи 20 октября 2026 года изменили с «security: fix CVE-2026-111943» на «crypto/x509: mitigation for security concerns with a specific Certificate Authority» (мера защиты в связи с проблемами безопасности у конкретного удостоверяющего центра), к ней привязали коммиты.
В задаче перечислены восемь заблокированных промежуточных сертификатов, каждый по хешу. По данным в списке, их субъекты, eMudhra BV (Нидерланды) и eMudhra Inc (США), а издатель, eMudhra Technologies Limited (Индия). Шесть сертификатов выпущены под корнем emSign Root TLS CA - G3: EM DV TLS CA, EM EV TLS CA и EM OV TLS CA в вариантах G3B и G3C. Ещё два, EM OV CS CA - G3B и EM OV CS CA - G3C, выпущены под корнем emSign Root CS CA - G3. Первый хеш в списке, ebed6475…5105, восьмой, 92c063d6…0e30.
Описание самой задачи не называет удостоверяющий центр и не объясняет, в чём именно проблемы. Один из комментаторов в задаче пишет, что, по данным CCADB, все эти сертификаты отозваны по причине cACompromise (компрометация ключа удостоверяющего центра) 18-19 октября, но нигде нет новостей и сообщений об этом. Это утверждение комментатора, а не заявление команды Go.
Ключевые факты
- Go в рамках CVE-2026-111943 блокирует доверие к небольшому набору промежуточных сертификатов в crypto/x509: Verify отбрасывает цепочки, где они есть.
- В задаче #82345 перечислены восемь сертификатов по хешам; их субъекты, eMudhra BV и eMudhra Inc, издатель, eMudhra Technologies Limited, под корнями emSign Root TLS CA - G3 и emSign Root CS CA - G3.
- Исправление идёт и в основную ветку, и в релизные ветки: бэкпорты #82348 (Go 1.26) и #82349 (Go 1.27).
- Авторы задачи настоятельно рекомендуют немедленно обновиться; задача шла по срочному треку.
- Причину блокировки Go в описании не раскрывает; версия об отзыве по cACompromise, из комментария пользователя со ссылкой на CCADB.
Почему это важно
Проверка цепочек сертификатов в crypto/x509 лежит в основе TLS-соединений в Go-программах. Когда стандартная библиотека перестаёт доверять промежуточным сертификатам, это меняет результат проверки у любого приложения, которое их использовало. Проект назвал задачу срочной и призвал обновиться немедленно, а это бывает нечасто.
Кому это важно
Разработчикам и командам эксплуатации, чьи сервисы на Go проверяют TLS-сертификаты (клиенты HTTPS, API-шлюзы, внутренние сервисы), а также тем, чьи собственные сертификаты выпущены цепочками через перечисленные промежуточные сертификаты eMudhra. Для них возможны ошибки проверки после обновления.
Как это применить
Обновиться до выпуска Go с исправлением для своей ветки (бэкпорты открыты для 1.26 и 1.27); номера конкретных минорных версий в задаче не указаны, их нужно смотреть в заметках к выпускам. Затем проверить, не строятся ли ваши цепочки доверия через перечисленные сертификаты (список хешей приведён в задаче #82345), и при необходимости перевыпустить сертификаты через другую цепочку.
Можно ли доверять
Источник первичный: это официальная задача в репозитории Go, она же ссылается на CVE-2026-111943 и на конкретные изменения кода. При этом описание очень скупое: оно не называет удостоверяющий центр прямо и не объясняет природу проблем. Версия об отзыве по cACompromise взята из комментария стороннего пользователя со ссылкой на CCADB и не подтверждена командой Go.
Риски и подводные камни
Оценки последствий в задаче нет: нет данных о возможной эксплуатации и о числе затронутых пользователей, нет срока для обновления. Соединения, проходящие через заблокированные сертификаты, после обновления перестанут проверяться, что может привести к внезапным сбоям. Причина блокировки публично не объяснена, поэтому о масштабе проблемы пока можно только догадываться; домыслы из комментариев за факт принимать не стоит.