VMTech
Обсудить проект →

Docker устранил критическую ошибку передачи токенов в Docker Hub

Docker устранил критическую ошибку передачи токенов в Docker Hub

Docker закрыла в Docker Hub критическую уязвимость CVE-2026-105445 с оценкой CVSS 4.0 в 9,4 балла. Ошибка существовала с 26 августа 2024 года до 30 сентября 2026-го и при определённой последовательности действий позволяла использовать персональный токен доступа одного пользователя как токен другого для операций с контейнерными образами.

Компания сообщила, что не обнаружила признаков эксплуатации. Исправление развернули на стороне Docker Hub, поэтому пользователям не требуется устанавливать обновление.

Как работала ошибка GhostPat

Проблема была связана с преобразованием личного аккаунта в организацию. Такой сценарий используется вместо прямого переноса репозитория между аккаунтами: личный аккаунт становится организацией с тем же именем, а её владельцем назначают существующий аккаунт Docker.

При конвертации персональные access tokens, или PAT, переносились на назначенного владельца организации. При этом секрет токена не менялся, но в системе менялся записанный владелец. Создатель токена сохранял возможность применять его, а реестр воспринимал ключ как принадлежащий назначенному владельцу.

Злоумышленник мог создать PAT в подконтрольном аккаунте, преобразовать аккаунт в организацию и назначить владельцем другого пользователя. Подтверждение от этого пользователя не требовалось, уведомление ему также не направлялось. В рамках выданных токену прав можно было скачивать, публиковать или удалять образы в репозиториях владельца и в организациях, к которым он имел доступ.

Доступ ограничивался реестром Docker Hub. Он не открывал веб-интерфейс, не позволял менять пароль, адрес электронной почты или настройки двухфакторной аутентификации и не давал полностью захватить аккаунт. Docker классифицировала риск как критический, поскольку он позволял публиковать образы от легитимного имени.

Проверка операций и действия Docker

Уязвимость обнаружили Питер Мольнар и Кристиан Хозак из mptrdev.com, назвавшие её GhostPat. По словам Docker, исправление было развернуто менее чем через четыре часа после получения отчёта. Исследователи подтвердили сценарий на двух тестовых аккаунтах с согласия владельцев: они создали и отправили образ в пространство имён целевого аккаунта, опубликовали образ в доступной ему организации и скачали приватные репозитории.

Docker проверила все конвертации аккаунтов за период существования ошибки, сопоставив их с журналами реестра и записями токенов. Компания отдельно изучила токены, использовавшиеся более чем под одной идентичностью, и около 304 тысяч отправок образов, выполненных перенесёнными токенами. Все такие отправки пришлись на репозитории преобразованной организации или её назначенного владельца; в большинстве случаев оба аккаунта контролировались одним человеком или одной командой.

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

Что проверить владельцам аккаунтов

2 октября Docker отправила письма пользователям, чьи аккаунты получили перенесённые токены, а также владельцам связанных организаций. В письмах были указаны описания токенов и даты их создания. 8 октября компания отключила выявленные перенесённые токены, кроме тех, которые владельцы попросили сохранить.

Docker рекомендует открыть Account settings и раздел Personal access tokens, проверить дату создания и последнего использования каждого ключа, а затем отозвать незнакомые или неиспользуемые PAT. Признаками риска могут быть токен, который пользователь не создавал, или незнакомая организация в переключателе аккаунтов.

Для автоматизации, принадлежащей организации, Docker советует использовать organization access tokens, а не PAT конкретного сотрудника. Такие токены доступны в подписках Docker Team и Docker Business и управляются владельцем организации, владельцем компании либо ролью с соответствующими полномочиями. Владельцам также полезно сверить историю публикаций в activity logs: Docker Home хранит её 30 дней, а более старые записи доступны через Docker Hub API.

Практический вывод для компаний: следует инвентаризировать PAT, связанные с CI/CD и публикацией образов, отозвать лишние ключи и разделить персональные и организационные учётные данные. Docker изменила процесс конвертации: теперь назначение владельца требует согласия пользователя, сопровождается уведомлением, а изменения владельца токена записываются для последующей проверки.

#dockerhub#containersecurity#supplychain#identitysecurity
Открытая аналитика
На сайте 0 просмотров
мин чтения 5 13.10.2026
Instagram

Docker устранил критическую ошибку передачи токенов в Docker Hub

Открыть публикацию в Instagram ↗