20 октября 2026 года вышел Docker Engine 29.9.2 с защитой от восьми скомпрометированных промежуточных сертификатов eMudhra. Новая проверка отклоняет TLS-соединения, если цепочка сертификатов реестра контейнерных образов проходит через один из этих центров. Из-за этого затронутые реестры могут перестать принимать операции docker pull и docker push до замены сертификатов.

Компрометация eMudhra создала риск подмены HTTPS-серверов
17 октября исследователь сообщил команде безопасности Chrome о проблеме с восемью промежуточными сертификатами удостоверяющего центра eMudhra. По данным Google, закрытые ключи для них были созданы с недостаточной случайностью. Это позволило посторонним восстановить ключи и потенциально выпускать поддельные сертификаты, которые могли бы выглядеть доверенными для приложений с устаревшими настройками проверки.
Удостоверяющий центр подтверждает подлинность сайтов с помощью цифровых сертификатов. Если злоумышленник получает соответствующий закрытый ключ, он может попытаться выдать контролируемый сервер за настоящий. Для Docker такой сценарий особенно чувствителен при обращении к реестрам образов — серверам, из которых разработчики скачивают контейнеры и куда отправляют собственные сборки.
Риск возникает при сочетании двух условий: приложение по-прежнему доверяет затронутой цепочке сертификатов, а атакующий способен направить соединение на подставной сервер. Само обнаружение слабых ключей ещё не доказывает, что через них проводились атаки на Docker. Google сообщила, что до блокировки в журналах Certificate Transparency не было зарегистрировано TLS-сертификатов, выпущенных через шесть затронутых промежуточных центров.
Docker Engine 29.9.2 отклоняет восемь опасных цепочек сертификатов
В Docker Engine 29.9.2 обновили среду выполнения Go до версии 1.26.10. В её библиотеке crypto/x509, отвечающей за проверку цифровых сертификатов, появился список запрещённых промежуточных центров. При обнаружении одного из них проверка цепочки завершается отказом. Исправление связано с CVE-2026-111943.
Раньше результат такой проверки мог зависеть от того, успело ли хранилище доверенных сертификатов конкретной системы получить сведения о компрометации. Разработчики Go отдельно указали, что не все платформы обновляют эти хранилища одинаково быстро, особенно в отдельных конфигурациях Linux. Теперь программа, собранная с исправленной версией Go, может распознать запрещённую цепочку самостоятельно.
Под блокировку попали четыре пары промежуточных сертификатов eMudhra:
EM DV TLS CA - G3BиEM DV TLS CA - G3C— сертификаты для проверки доменов;EM OV TLS CA - G3BиEM OV TLS CA - G3C— сертификаты с проверкой организации;EM EV TLS CA - G3BиEM EV TLS CA - G3C— сертификаты с расширенной проверкой;EM OV CS CA - G3BиEM OV CS CA - G3C— сертификаты для подписания кода.
Индекс G3B относится к eMudhra BV, G3C — к eMudhra Inc. Первые три пары связаны с TLS, последняя — с подписью программного кода. Все восемь включены в перечень заблокированных сертификатов.
Почему после обновления могут перестать работать docker pull и docker push
Когда Docker обращается к реестру по HTTPS, он проверяет, можно ли доверять сертификату сервера. Если реестр предъявит цепочку с одним из скомпрометированных промежуточных сертификатов, Docker Engine 29.9.2 отклонит её. В таком случае скачивание образа через docker pull или публикация через docker push завершится ошибкой проверки TLS.
Это изменение относится к реестрам, чьи цепочки действительно содержат заблокированные сертификаты. Реестры с другими действительными цепочками продолжат работать в прежнем режиме. Для восстановления подключения затронутому реестру потребуется сертификат с цепочкой, в которой отсутствуют заблокированные промежуточные центры.
Такое поведение может затронуть автоматические сборки и развёртывания: если конвейер CI/CD обращается к проблемному реестру, получение базового образа или отправка результата сборки прервётся на этапе защищённого соединения. Причина будет связана с доверием к HTTPS-серверу, а не с форматом контейнерного образа.
Docker Buildx 0.38.1 получил то же исправление безопасности
20 октября разработчики выпустили Docker Buildx 0.38.1. Плагин предназначен для расширенной сборки контейнерных образов и также пересобран с Go 1.26.10. Он отклоняет сертификатные цепочки, содержащие те же восемь промежуточных центров eMudhra.
В примечаниях к Buildx прямо указано, что функциональных изменений по сравнению с 0.38.0 нет. Таким образом, отличие новой версии относится к проверке TLS при взаимодействии с реестрами, а не к возможностям сборки или синтаксису команд.
Предыдущий Docker Engine 29.9.1, опубликованный 14 октября, исправлял уязвимости containerd и ряд ошибок работы контейнеров и сетей. Версия 29.9.2 решает уже другую проблему — доверие к сертификатам после общеотраслевого инцидента, затронувшего браузеры, операционные системы и программы на Go.
Последствия для Docker зависят от сертификатов конкретного реестра
Новая защита устраняет сценарий, при котором Docker продолжает доверять одной из восьми скомпрометированных цепочек из-за неактуального системного хранилища. Одновременно она создаёт ожидаемое ограничение совместимости для реестров, всё ещё использующих такие сертификаты.
На 21 октября официальные примечания Docker описывают механизм блокировки и последствия для операций с образами, но не приводят перечня пострадавших реестров. Масштаб реальных отказов подключения будет зависеть от того, где эти цепочки применялись и насколько быстро владельцы серверов заменят сертификаты.