Docker Hubのアカウント変換の脆弱性CVE-2026-105445
- カテゴリ
- 脆弱性の公表
Dockerの2026年10月12日のアドバイザリによると、Docker Hubで個人アカウントを組織に変換すると、そのアカウントの個人アクセストークン(PAT)が、新しい所有者に指名した利用者へ移っていた[1]。トークンを作った者は、その利用者としてレジストリに認証できた[1]。Dockerは、この脆弱性が悪用された証拠は見つからなかったと説明した[1]。
脆弱性の内容
変換の仕組みと手口
Dockerは文書で、PATをパスワードを使わずにDocker Hubにサインインするためのものと説明している[10]。PATを作るときは、リポジトリの権限を1つ選ぶ[10]。
アドバイザリの説明では、Docker Hubにはリポジトリを別のアカウントへ移す方法が無く、変換は参照するpullを壊さずに所有を組織へ移す手段になっている[1]。変換のとき、利用者は既存のDocker Hubアカウントを新しい組織の所有者に指名する[1]。この所有者には、変換したアカウントのPATも割り当て直されていた[1]。トークンの所有者の記録を変えるだけで、秘密値はローテーションも失効もされないままだった[1]。
変換は、指名された所有者に確認を求めず、通知もしなかった[1]。攻撃者がアカウントを作ってPATを発行し、そのアカウントを組織に変換して標的の利用者を所有者に指名すると、PATは標的に割り当て直される[1]。秘密値は攻撃者の手元に残ったまま、PATは標的の権限で有効で、レジストリに標的として認証する[1]。
影響と深刻度の評価
Dockerは、トークンの範囲内で、攻撃者が標的のリポジトリと、標的がアクセスできる組織のイメージをpull・push・削除できた可能性があるとした[1]。正規の名前でイメージを公開できることから、ソフトウェアのサプライチェーンのリスクとして扱い、深刻度をcriticalと評価した[1]。Docker HubのWeb画面へのアクセスは与えず、標的のパスワード・メールアドレス・二要素の設定の変更やアカウントの乗っ取りには使えなかった[1]。
| 項目 | 値 | 資料 |
|---|---|---|
| 採番 | DockerがCNAとして採番 | [2] |
| CVSS 4.0の基本値 | 9.4(CRITICAL) | [2] |
| CVSSのベクトル | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H | [2] |
| CWE | CWE-266(Incorrect Privilege Assignment) | [2] |
| CVEレコードの印 | 発見は外部(EXTERNAL)、exclusively-hosted-service | [2] |
| EUVDの識別子 | EUVD-2026-98965(別名にGHSA-phq5-vq2m-8rp9) | [4] |
研究者の検証
mptrdev.comの研究者は、この脆弱性をGhostPatと名付け、Dockerの脆弱性開示方針に沿って報告した[5]。再現は、異なるIPアドレス・人・日で2回行った[5]。攻撃者の費用は使い捨てのアカウント1つで、変換は無料だとした[5]。
研究者のGhostPatの解説によると、作ったトークンで標的としてdocker loginに成功し、標的の名前空間にリポジトリを作ってpushした[5]。標的が属する組織のリポジトリへのpushと、標的の非公開リポジトリのpullもできた[5]。レジストリAPIも、ベアラーの交換(POST /v2/auth/token)とリポジトリの一覧でこのトークンを受け付けていた[5]。概念実証は同意を得た試験用アカウントで行い、被害者のデータには触れていない[5]。
標的の受信箱には通知が届かず、痕跡はトークンの一覧の項目と、アカウントの切り替えでだけ見える新しい組織の2つだった[5]。一覧の項目の名前は攻撃者が選ぶ[5]。研究者は、公式イメージ(library/)が同じ変換の経路で届く通常のアカウントで公開されていれば、1回の変換でエコシステム全体の基盤イメージにpushできるとする最悪の場合を、確認していない指摘として挙げた[5]。
変換の文書の変遷
The Hacker Newsは、Dockerの変換のページに、遅くとも2024年8月から、新しい所有者は通知のメールを受け取るとする文があったと報じた[6]。2025年4月22日の文書の変更では、利用者を組織の所有者に指名すると、その利用者のアカウントに関連付いたPATが組織の所有者に移るとする注記が加わった[6]。Dockerは修正の時刻の数分後、9月30日にこの注記を外した[6]。日付はDockerの文書の公開の履歴によるもので、Dockerの文書は脆弱性があった約25か月のうち約17か月、トークンの移転を記していた[6]。
この通知のメールの文は、Dockerが10月2日に更新した変換の手順書にも残っている[9]。
時系列
| 日付 | 主体 | 内容 | 資料 |
|---|---|---|---|
| 2024年 | - | 変換が、変換したアカウントのPATを新しい所有者に割り当て直すようになった | [1] |
| 2026年 | mptrdev.comの研究者 | 最初の再現を行った | [5] |
| 2026年 | Docker | 脆弱性開示プログラムで研究者の報告を受けた〔注1〕 | [1] |
| 2026年 | Docker | 社内の試験用アカウントで問題を再現した | [1] |
| 2026年 | Docker | 修正を本番環境に展開し、元の概念実証で確かめた | [1] |
| 2026年 | Docker | PATは移らず新しい所有者が作り直す必要があることと、組織アクセストークンを勧めることを文書に記した | [1] |
| 2026年 | Docker、mptrdev.comの研究者 | 研究者に修正を伝え、双方が開示の調整に合意した | [1] |
| 2026年 | Docker | 脆弱性にさらされた利用者とその組織の所有者にメールで通知した | [1] |
| 2026年 | Docker | CVE-2026-105445を予約した | [2] |
| 2026年 | Docker | 変換で移ったPATを、期限の前に持ち主が残すよう求めたものを除いて無効化した | [1] |
| 2026年 | Docker | アドバイザリを公開した | [1] |
| 2026年 | Docker | CVEレコードを公開した | [2] |
| 2026年 | NVD | CVE-2026-105445を登録した | [3] |
| 2026年 | ENISA | EUVDに登録した | [4] |
| 2026年 | CISA | CVEレコードにSSVCの評価を加えた | [2] |
対象の製品と版
| 製品 | 影響を受ける版 | 修正版 | 資料 |
|---|---|---|---|
| Docker Hub | 2024年8月26日20時33分(UTC)から2026年9月30日19時10分(UTC)より前 | - | [2] |
Dockerの説明では、レジストリのログはトークンが使われたことを示すが存在は示さず、一度も使われなかった移ったトークンは痕跡を残さない[1]。そのため検知で対象者を決めず、期間中に変換で移ったPATを、使われたかを問わずすべて、影響を受けたおそれのあるものとして扱った[1]。通知のメールを受け取っていなければ、本人と本人が管理する組織のメンバーはさらされておらず、取るべき対応は無いとした[1]。
The Hacker Newsは、DockerがDocker Hub自体で修正したため、利用者が入れる更新は無いと報じた[6]。
悪用の状況
Dockerは、期間中に行われたすべての変換を洗い出し、レジストリの認証ログ、Docker Hubの利用データ、IAMのトークンの記録と突き合わせた[1]。複数のIDで使われたトークンを探し、移ったトークンによるpushは全件を調べた[1]。調べたpushは約304,000件だった[1]。pushはすべて、変換した組織自身か新しい所有者自身のリポジトリに入り、無関係の利用者や組織のアカウントには入っていなかった[1]。
アドバイザリによると、大多数の場合、変換したアカウントと所有者に指名したアカウントは同じ人かチームのものだった[1]。同じ人が両方を管理していると確かめられなかった変換の後にpushされた公開イメージのうち、リスクの最も高いものを、実行せずに静的に解析した[1]。マルウェア、暗号資産の採掘、C2の活動、認証情報の収集、永続化、改ざんは見つからなかった[1]。Docker自身の基盤やサービスが影響を受けた証拠も無かったとした[1]。
CISAがCVEレコードに加えたSSVCの評価は、Exploitationがnone、Automatableがno、Technical Impactがtotalである[2]。NVDの登録の状態はAwaiting Analysisで、KEVへの追加日の項目は無い[3]。EUVDの悪用開始日(exploitedSince)の項目は空になっている[4]。
修正と回避策
Dockerは修正で変換からPATの移転をすべて取り除き、そのうえで3つの措置を進めているとした[1]。
- 組織の所有者に指名する前に本人の同意を求め、指名したときに通知する[1]
- トークンの所有者の変更をすべて、監査できる履歴に残す[1]
- 資格情報の所有者を変える他の流れに、同じ型が無いか見直す[1]
通知のメールの件名は「Docker Hub Vulnerability Identified & Resolved」で、Docker Hubで探せるよう、対象のトークンを説明と作成日で並べていた[1]。Dockerは利用者に、Account settingsのPersonal access tokensでPATを確かめ、覚えのないものや使わなくなったものを失効させるよう求めた[1]。組織の自動化には、個人のPATでなく組織アクセストークンを使うことを勧めている[1]。
変換の手順書は、変換の後はそのアカウントのPATが働かなくなるとし、新しい所有者でサインインして、変換した組織の組織アクセストークンを作るよう記している[9]。
The Hacker Newsによると、組織アクセストークンにはDocker TeamかDocker Businessの契約が要り、Docker DesktopとImage Access Managementでは使えない[6]。その契約の組織の所有者は活動ログで過去のpushを確かめられ、ログはpushしたタグを記録し、pushしたトークンを示すこともある[6]。ログを見るDocker Homeは30日分を保ち、それより古い記録はDocker Hub APIで取得できると報じた[6]。
未公表の事項
- 通知した利用者・組織の数と、移ったPATの数(Dockerは対象を限られた数の利用者と説明した[1])
- 移ったトークンによるpullと削除(非公開リポジトリのpullを含む)の調査の結果
- 期限の前に持ち主が残すよう求め、無効化から除いたPATの数
- 変換がPATを新しい所有者に割り当て直すようになった理由
注
- 〔注1〕時系列の時刻は、Dockerのアドバイザリの時系列が示す米国東部時間である[1]。
出典
当事者
- [1]Docker, Inc.『Docker Hub security advisory: personal access tokens transferred during account-to-organization conversions』(2026年10月12日公開)
公的機関
- [2]CVE Program『CVE-2026-105445 Docker Hub account conversion could reassign an active personal access token to another user』(2026年10月13日公開、2026年10月19日更新)
- [3]National Institute of Standards and Technology『CVE-2026-105445』(2026年10月13日公開、2026年10月19日更新)
- [4]European Union Agency for Cybersecurity『EUVD-2026-98965』(2026年10月13日公開、2026年10月19日更新)
調査・観測
- [5]mptrdev.com『GhostPat — A ghost token in your Docker account.』(2026年10月12日公開、2026年10月13日更新)
報道機関
- [6]The Hackers News Inc.『Docker Fixes Critical Two-Year-Old Hub Flaw That Let One User Push Images as Another』(2026年10月13日公開)
背景資料
- [9]Docker, Inc.『Convert a Docker account to an organization』(2026年10月2日公開)
- [10]Docker, Inc.『Create and manage personal access tokens』(2026年10月16日公開)
更新記録
- 2026年10月17日:公開した。
- 2026年10月19日:CISAがCVEレコード(出典2)に加えたSSVCの評価と、同じ日に更新されたNVD(出典3)とEUVD(出典4)の登録の状態を「悪用の状況」と「時系列」に加えた。
