Атака на инфраструктуру удостоверяющего центра eMudhra раскрыта 20 октября 2026 года. Промежуточный центр сертификации - орган, который подписывает сертификаты от имени корневого и передаёт им доверие клиентов. Восемь таких ключей оказались у злоумышленника, поэтому он может выпускать сертификаты для любых доменов и выдавать себя за сайты и сервисы. Затронуты клиенты, доверяющие цепочке eMudhra, в том числе песочницы Docker с типовыми наборами инструментов: внутри их образов хранятся копии списка доверенных сертификатов. Сведений об эксплуатации в реальных атаках на момент публикации отчёта нет.
Подмена через доверенные сертификаты и обновление песочниц Docker
Сценарий атаки - "человек посередине", то есть перехват соединения между клиентом и сервером. Владелец ключа подписывает сертификат на чужое имя, и клиент принимает его как действительный, потому что цепочка ведёт к доверенному корню. Вектор сетевой, аутентификация не требуется: достаточно встать на пути трафика или подменить ответ сервера. В песочнице поддельный сертификат открывает путь к перехвату обращений агента к внешним API, реестрам пакетов и репозиториям с кодом. Отзыв сертификатов снижает риск, однако кешированные образы сохраняют старое хранилище доверия и продлевают окно уязвимости.
Docker пересобрала образы шаблонов песочниц для всех встроенных наборов; страница с описанием обновления датирована 21 октября 2026 года. Номера версий образов вендор не публикует, вместо них указан способ получения: принудительная загрузка вместо чтения кеша. Обновление пакета sbx, интерфейса командной строки для песочниц, само по себе не меняет уже созданные песочницы. Поэтому защиту получают либо пересозданием песочницы, либо обновлением пакета сертификатов внутри неё.
Пересоздание выполняют с флагом --pull always, иначе система возьмёт локальную копию образа. На хосте последовательно останавливают песочницу, удаляют её и создают заново: sbx stop <sandbox-name>; sbx rm <sandbox-name>; sbx create --name <sandbox-name> --pull always codex <workspace-path>. Вместо codex подставляют своего агента и повторяют прежние параметры запуска, например --clone или дополнительные наборы. Удаление стирает файловую систему песочницы, поэтому незапушенные коммиты и нужные файлы сохраняют заранее. Тот же флаг указывают при создании любых новых песочниц из встроенных наборов.
Альтернатива для существующей песочницы - обновить пакет ca-certificates, не удаляя данные. Для шаблонов Docker на базе Ubuntu команды выполняют на хосте при работающей песочнице: sbx exec <sandbox-name> -- sudo apt-get update; sbx exec <sandbox-name> -- sudo apt-get install --only-upgrade -y ca-certificates. Затем приложения внутри песочницы перезапускают. Инструменты со своим встроенным хранилищем сертификатов обновляют отдельно, ориентируясь на исправленные версии из отчёта об инциденте.
Собственные шаблоны требуют другого порядка. Хранилище доверия приводят в актуальное состояние штатными обновлениями базового дистрибутива, после чего образы пересобирают и только затем создают из них новые песочницы. Ограничиться правкой одного пакета здесь нельзя: изменения не попадут в образ, из которого разворачиваются экземпляры.
Значимость уязвимости определяется сроком жизни промежуточного сертификата и глубиной кеширования образов. Пока подписанные скомпрометированным ключом сертификаты не отозваны, доверие к ним сохраняется у всех клиентов со старым хранилищем. Проверка флага --pull always при создании песочниц и контроль версии пакета ca-certificates закрывают этот вектор без замены остальных настроек.