Eclipse Cheに遠隔コード実行の脆弱性、修正コミットを公開
Eclipse Cheのche-machine-execに、ネットワークから届く相手が認証なしでコンテナ内のコマンドを実行できる脆弱性が見つかりました。既定の設定のまま Eclipse Che 7.122.0 以前を運用している組織が対象です。まず自社の版と認証設定を洗い出し、到達できる範囲を絞ったうえで修正版への更新を進めてください。
急ぎ度: 早めに
CVSS v3は9.8で、認証不要かつ既定で認証が無効という条件がそろう一方、悪用確認の報告やKEVへの掲載は伝えられておらず、修正版の版番号も示されていないため、至急の一歩手前の「早めに」と判断しました。
関係があるか
Eclipse Cheを自社のKubernetes環境などで運用し、che-machine-execの認証を無効のまま使っている組織が当てはまります。攻撃者のネットワークからche-machine-execに届く構成ほど危険です。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| Eclipse Che(che-machine-exec) | 7.0.0以上7.122.0以下 | 修正コミットはche-machine-execのリポジトリに公開済み。修正版の版番号は未確認 |
確かめ方
- 1運用中のEclipse Cheの版を、管理者向けの画面やデプロイ定義で確認し、7.0.0から7.122.0の範囲に入るかを調べる
- 2che-machine-execの認証が有効か無効かを設定で確認する。既定は無効なので、変更した覚えがなければ無効のままと考えてよい
- 3che-machine-execのエンドポイントに、社内の一般端末や外部から届くかをネットワーク構成とファイアウォール設定で確認する
何が起きたか
Eclipse Cheのche-machine-execというサービスに、入力値の扱いを誤った脆弱性があります。悪用されると、che-machine-execが操作できるように設定されたコンテナの中で、攻撃者が任意のコマンドを実行できます。
原因は、/exec/initと /exec/configというJSONのエンドポイントで受け取るusernameとnamespaceの値を、エスケープせずにsh -cのコマンド文字列へつないでいることです。シェルがその値を命令として解釈するため、OSコマンドインジェクション(CWE-78)にあたります。
筆者は、認証を無効にしたまま広いネットワークから届く環境なら、実質的に至急の扱いになると見ています。
攻撃の流れ
-
1
到達
攻撃者がネットワーク経由でche-machine-execのエンドポイントに接続できる。
-
2
入力の送信
/exec/initか /exec/configに、usernameやnamespaceとして細工した値を送る。
-
3
命令への混入
値がエスケープされないまま、シェルに渡すコマンド文字列へ組み込まれる。
-
4
コード実行
対象コンテナの中で、攻撃者の指定したコマンドが動く。
どう悪用されるか
悪用に認証は要りません。che-machine-execが既定の認証無効のまま動いていれば、ネットワークから届く攻撃者が1回の通信で攻撃でき、利用者の操作も要りません。複雑な条件もなく、CVSSの評価でも攻撃のしやすさは最高水準です。
悪用に成功すると、che-machine-execが接続を許されたコンテナの中でコマンドが実行されます。評価では機密性・完全性・可用性のすべてが高い影響とされており、コンテナ内のデータの読み出しや書き換え、サービス停止まで想定されます。
今すぐやること
-
1
利用状況を洗い出す
Eclipse Cheを使っているクラスターと環境を一覧にし、版が7.122.0以下か、che-machine-execの認証が無効かを確認します。開発用や検証用の環境も漏らさず対象にします。
-
2
到達できる範囲を絞る
che-machine-execに届く経路を、必要な利用者と通信元だけに限ります。インターネットや広い社内ネットワークから直接届く状態は先に解消します。
-
3
修正版に更新する
Eclipse Chが修正版を公開したら、運用中の環境を更新します。対応する版はベンダーの告知で確認してください。
-
4
不審な実行の痕跡を調べる
公開後に、対象コンテナで想定外のコマンド実行やプロセスの起動がなかったか、ログを見直します。コンテナ内に置かれた認証情報やトークンは、必要に応じて再発行します。
すぐ更新できないとき
修正版をすぐ当てられない場合は、che-machine-execの認証を有効にし、ネットワーク上で到達できる範囲を必要最小限に絞ります。ファイアウォールやネットワークポリシーで、許可した通信元だけを通すようにしてください。
背景
Eclipse Cheは、ブラウザーで使える開発環境をKubernetes上で提供するオープンソースです。che-machine-execは、その開発環境のコンテナ内でコマンドを実行したり、ターミナルをつないだりするときの窓口にあたります。窓口に届いた入力がそのままシェルの命令に変わるため、ここで入力の扱いを誤ると、コンテナ内で攻撃者の命令が動くことになります。
文字列をつないでシェルに渡す書き方は、OSコマンドインジェクションの典型的な原因です。開発環境のコンテナにはソースコードやリポジトリへの認証情報が置かれていることが多く、被害は1台のコンテナにとどまらず、開発基盤全体の情報漏えいにつながるおそれがあります。
よくある質問
Q.CVE-2026-114278とGHSA-rq96-f9wc-rppmは別の脆弱性ですか。
まだ分かっていないこと
- 修正版の版番号と、修正を含む正式なリリースの時期。Eclipse Foundationの脆弱性報告やche-machine-execのリポジトリで確認してください。
- 実際の攻撃で悪用されたかどうか。今後KEVへの掲載などがないか、あわせて追う必要があります。
- che-machine-execを単体で使っている場合に、影響する版がEclipse Cheの版とどう対応するか。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| Eclipse Foundation | Eclipse Che |
7.0.0 〜 7.122.0 |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
The che-machine-exec service constructs a shell command by concatenating user-controlled input (the username and namespace fields from the /exec/init and /exec/config JSON endpoints) into a double-quoted sh -c "echo "..." > ..." invocation without any escaping. When che-machine-exec is run with authentication disabled (its default), any network-reachable attacker can achieve remote code execution in containers che-machine-exec is configured to access, via shell command substitution ($(...) or backticks).
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web emo@eclipse.org
- web emo@eclipse.org
- web emo@eclipse.org
- web nvd.nist.gov
- web github.com