Red Hat Quayにテナント間のトークン漏えい脆弱性、修正版あり
Red Hat Quayで、別テナントのロボットアカウントと認証トークンを取得される脆弱性が11月11日に公表されました。複数チームでレジストリを共有する組織は、修正版へ更新し、トークンの不審な利用がないかも確認してください。
急ぎ度: 至急
CVSS v3は9.9でRed Hatの評価もCriticalですが、系列ごとの修正版がすでに公開されており、完全な回避策はありません。
関係があるか
自社で運用するRed Hat Quayを、複数のチームや顧客で共有している組織が対象です。OpenShiftの統合コンテナレジストリとしてQuayを使っている環境では、CI/CDへの影響も考える必要があります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Red Hat Quay 3 | 各版。修正版が示されている系列は3.9、3.10、3.12、3.14、3.15、3.16、3.17、3.18 | 3.9.28、3.10.28、3.12.24、3.14.10、3.15.9、3.16.7、3.17.7、3.18.3(使っている系列の版に更新する) |
| Red Hat Quay 5 | 影響する製品として記録されている | 版番号はRed Hatの告知で確認する |
| Red Hat OpenShift Update Service | 影響する製品として記録されている | 版番号はRed Hatの告知で確認する |
確かめ方
- 1Quayの管理者に、運用中の版と系列を確認します。OpenShiftにOperatorで入れている場合は、
oc get csv -A | grep -i quayで導入されている版を確認できます。 - 2複数の組織やチームが同じQuayを共有しているか、利用者が自分で組織や名前空間を作れる設定かを確認します。
- 3名前にアンダースコアを含む組織・名前空間があるか、それと一致しうる別の名前空間がないかを洗い出します。
- 4Quay 5とOpenShift Update Serviceを使っている場合は、Red HatのCVE-2026-110697のページで、対応する修正版を確認します。
何が起きたか
Red Hat Quayのロボットアカウント一覧の処理に、別のテナントのロボットアカウントと、復号された認証トークンを取得されてしまう脆弱性があります。トークンを手にした側は、そのテナントのコンテナイメージを読み取り、pushし、上書きできます。
原因は、名前空間の名前からSQLのLIKEパターンを組み立てるときに、ワイルドカードとして働く文字をエスケープしていないことです。LIKEではアンダースコアが任意の1文字に一致します。そのため、アンダースコアを含む名前空間を作ると、他テナントの名前空間まで検索条件に入ってしまいます。分類はCWE-89です。
Red Hatは、テナントの分離を破れることを理由にCriticalと評価しています。共有レジストリでは更新を後回しにしにくい脆弱性でしょう。
攻撃の流れ
-
1
ログイン
Quayに一般の利用者アカウントでログインします。
-
2
名前空間を作成
アンダースコアを含み、他テナントの名前空間に一致しうる名前空間を作ります。
-
3
一覧の取得
ロボットアカウント一覧の処理が他テナントの分まで返し、復号済みのトークンが含まれます。
-
4
イメージ操作
盗んだトークンで、他テナントのイメージを読み取り、pushし、上書きします。
どう悪用されるか
ネットワーク経由で悪用でき、攻撃の複雑さは低く、被害者側の操作は要りません。必要なのは、Quayにログインできる低い権限のアカウントと、新しい名前空間を作れる状況です。管理者権限は前提になっていません。
CVSSのスコープがChangedとなっているとおり、被害は攻撃者自身の名前空間を超えて、他テナントに及びます。ロボットトークンが盗まれると、そのテナントのイメージの読み取り、push、上書きが可能になり、機密性・完全性・可用性のすべてに高い影響が出ます。
QuayをOpenShiftの統合レジストリとして使っている環境では、盗まれたトークンで悪意あるイメージをCI/CDパイプラインに混入させられます。本番クラスターへのサプライチェーン攻撃につながる点を、Red Hatは懸念しています。
今すぐやること
-
1
使っている系列の修正版に更新する
3.9.28、3.10.28、3.12.24、3.14.10、3.15.9、3.16.7、3.17.7、3.18.3のうち、運用中の系列に合う版へ更新します。共有環境や、利用者が名前空間を作れる環境を先に進めます。
oc get csv -A | grep -i quay -
2
Quay 5とOpenShift Update Serviceの修正版を確認する
どちらも影響する製品として記録されています。Red HatのCVE-2026-110697のページで、対応する修正版と適用手順を確認します。
-
3
ロボットトークンの再発行を検討する
更新前から、アンダースコアを含む名前空間と一致しうる名前空間があった場合は、その側のロボットトークンを再発行します。再発行すると、そのトークンを使うCI/CDの設定も更新が必要になります。
-
4
レジストリの利用記録を見直す
想定したロボットアカウントの動きと合わないpullやpushがないかを確認します。見慣れないイメージや、タグの上書きがないかも調べ、CI/CDに取り込まれたイメージの出どころも確かめます。
すぐ更新できないとき
完全な回避策はありません。すぐに更新できないときのつなぎとして、アンダースコアを含む組織・名前空間を作れる利用者を絞り、一致しうる名前空間のロボットトークンを再発行し、想定外のpullやpushを監視します。これらは影響を減らすだけで、脆弱性そのものは直りません。
背景
Quayは、Red Hatのコンテナレジストリ製品です。ロボットアカウントは、CI/CDなどの自動処理がイメージをpullやpushするために使う、人ではないアカウントです。認証にはトークンを使うため、トークンが漏れると、そのテナントのイメージ管理を丸ごと任せたのと同じことになります。
Quayで名前空間は、組織やチームを分けるテナントの境界です。この脆弱性は、その境界を決める名前の照合で、LIKEの特殊文字を普通の文字として扱っていなかったことが原因です。SQL文を自由に組み立てられる型ではなく、検索条件の範囲が広がってしまう型で、一覧取得の処理が他テナントの分まで返します。共有レジストリでは、この一覧にトークンまで含まれる点が深刻さを決めています。
よくある質問
Q.Quay.ioを使っている場合も更新が必要ですか。
Q.テナントを分けず、1つのチームだけで使っている場合は急がなくてよいですか。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| Red HatRed Hat OpenShift Update Service | — | 記載なし |
| Red HatRed Hat Quay 3 | — | 記載なし |
| Red HatRed Hat Quay 5 | — | 記載なし |
| Red HatRed Hat Quay 3.10 | — | 記載なし |
| Red HatRed Hat Quay 3.14 | — | 記載なし |
| Red HatRed Hat Quay 3.15 | — | 記載なし |
| Red HatRed Hat Quay 3.16 | — | 記載なし |
| Red HatRed Hat Quay 3.18 | — | 記載なし |
| Red HatRed Hat Quay 3.9 | — | 記載なし |
| Red HatRed Hat Quay 3.12 | — | 記載なし |
| Red HatRed Hat Quay 3.17 | — | 記載なし |
| Project Quayquay |
3.9.28 未満→ 3.9.28 3.10.0 以上 3.10.28 未満→ 3.10.28 3.12.0 以上 3.12.24 未満→ 3.12.24 3.14.0 以上 3.14.10 未満→ 3.14.10 3.15.0 以上 3.15.9 未満→ 3.15.9 3.16.0 以上 3.16.7 未満→ 3.16.7 3.17.0 以上 3.17.7 未満→ 3.17.7 3.18.0 以上 3.18.3 未満→ 3.18.3 |
3.9.28 3.10.28 3.12.24 3.14.10 3.15.9 3.16.7 3.17.7 3.18.3 |
ディストリビューション別の修正状況
各ディストリビューションが公開している、この CVE の記録です。修正版は配布版ごとに違うので、リンク先で確かめてください。
- Ubuntu UBUNTU-CVE-2026-110697 dataquay この記録に修正版の記載なし
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
A flaw was found in Quay where the robot account listing function constructs a SQL LIKE pattern from user-controlled namespace names without escaping wildcard metacharacters. An attacker who creates a namespace containing an underscore character can match and retrieve robot accounts and their decrypted authentication tokens from other tenants' namespaces, leading to cross-tenant credential theft and unauthorized image operations.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web secalert@redhat.com
- web secalert@redhat.com
- web nvd.nist.gov
- web github.com
- web secalert@redhat.com
- web secalert@redhat.com
- web secalert@redhat.com
- web secalert@redhat.com
- web secalert@redhat.com
- web secalert@redhat.com
- web secalert@redhat.com
- web secalert@redhat.com
- web secalert@redhat.com