• ひとことでApache Spark の画面で、なりすましによりコマンドを動かされる弱点
  • 深刻度8.8 重要CVSS v3.1
  • まずやることSpark のバージョンを確認する

何をすればいいかを詳しく読む

基本情報(データから表示)

CVE番号CVE-2022-33891
製品Apache Spark
深刻度(CVSS)8.8 重要CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KEVへの追加日2023-03-07
米国政府機関の対応期限2023-03-28
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-78(OSコマンドインジェクション)

何が起きた

Apache Spark の管理画面(Spark UI)に、外からコマンドを送り込まれる弱点(コマンドインジェクション)が見つかり、実際に悪用が確認されています。設定 spark.acls.enable で ACL を有効にしていると、任意のユーザー名を名乗ってなりすますことができ、その入力をもとに作られた Unix のシェルコマンドが実行されるおそれがあります。コマンドは Spark を動かしている利用者の権限で動きます。NVD の評価では、攻撃者はネットワーク経由で、一般利用者程度の権限があれば悪用できます。

攻撃の流れ

データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。

攻撃の流れ: 1. 攻撃者が Spark UI に接続する → 2. 任意のユーザー名でなりすます → 3. 入力からシェルコマンドが作られる → 4. Spark の権限でコマンドが動く1攻撃者が Spark UI に接続する2任意のユーザー名でなりすます3入力からシェルコマンドが作られる4Spark の権限でコマンドが動く攻撃の流れ: 1. 攻撃者が Spark UI に接続する → 2. 任意のユーザー名でなりすます → 3. 入力からシェルコマンドが作られる → 4. Spark の権限でコマンドが動く1攻撃者が Spark UI に接続する2任意のユーザー名でなりすます3入力からシェルコマンドが作られる4Spark の権限でコマンドが動く攻撃の流れ: 1. 攻撃者が Spark UI に接続する → 2. 任意のユーザー名でなりすます → 3. 入力からシェルコマンドが作られる → 4. Spark の権限でコマンドが動く1攻撃者が Spark UI に接続する2任意のユーザー名でなりすます3入力からシェルコマンドが作られる4Spark の権限でコマンドが動く

誰が影響を受ける

NVD の説明では、Apache Spark 3.0.3 以前、3.1.1 から 3.1.2、3.2.0 から 3.2.1 が影響を受けます。Apache の案内では、影響範囲が 3.1.3 以前と 3.2.0 から 3.2.1 に改められています(3.1.3 は以前は修正済みとされていましたが、この変更は CVE-2023-32007 として扱われています)。

何をすればいい

Apache の案内に従い、Spark 3.2.2、または 3.3.0 以降に更新してください。3.1.3 は修正版ではないので注意してください。公式の案内を確認し、使っている Spark のバージョンを確かめてください。

やることチェックリスト

  • Spark のバージョンを確認する
  • Spark 3.2.2 か 3.3.0 以降に更新する
  • 3.1.3 以前の Spark を更新する

用語メモ

ACL 用語集で見る
だれが何をしてよいかを決めた、アクセス権の一覧です。
コマンドインジェクション 用語集で見る
攻撃者が入力に命令を紛れ込ませて、サーバーにコマンドを実行させる攻撃です。
Spark UI
Apache Spark の処理の様子を確認したり操作したりするためのウェブ画面です。

次に読む

公式情報と元データ

公式情報

元データ(英語・CISA KEV より)を開く

Apache Spark Command Injection Vulnerability

概要

Apache Spark contains a command injection vulnerability via Spark User Interface (UI) when Access Control Lists (ACLs) are enabled.

推奨対応

Apply updates per vendor instructions.

この元データの出どころ: CISA KEV カタログで見る