Apache Airflow の脆弱性 CVE-2025-54831 が FIX:読み取り専用ユーザーによる機密情報の漏洩

Apache Airflow Vulnerability Lets Read-Only Users Access Sensitive Data

2025/09/26 gbhackers — Apache のメンテナーが公開したのは、Airflow 3.0.3 に存在する深刻なセキュリティ脆弱性 CVE-2025-54831 に関する情報である。この脆弱性を悪用する攻撃者は、読み取り権限だけを持つ場合であっても、Airflow API および Web インターフェイスを通じて、機密性の高い接続情報を閲覧できるという。それにより、Connections 内のシークレットの閲覧が、編集権限を保持するユーザーだけに限定されるという設計が損なわれ、認証情報などの機密データが漏洩する可能性がある。この Apache Airflow は、OSS のワークフロー・オーケストレーション・プラットフォームであり、データ・パイプラインのスケジュール設定と監視に広く利用されている。

以前のバージョンである Airflow 3.0.0 のリリースで導入されたのは、Connection オブジェクト内のパスワード/トークン/秘密鍵などの機密フィールドをデフォルトでマスクし、編集権限を持つユーザーだけが閲覧できるようにするセキュリティ・モデルだ。それにより、読み取り専用ユーザーが参照できるのは、メタデータのみとなっていた。

しかし Airflow 3.0.3 の実装の不備により、読み取り専用ユーザーが、機密情報の完全な値を取得できるという欠陥が発生した。2025年9月25日の時点で、この問題は開発者メーリング・リストを介して、コミュニティ・メンバーである Kaxil Naik から報告され、深刻度 Important と評価された。

Apache Airflow の脆弱性

Airflow 3.0.3 では、接続情報を取得する API エンドポイントと対応する UI ビューが、AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS コンフィグをバイパスしてしまう。

このコンフィグが有効であれば、パスワード/ホスト/ポート/追加情報などのフィールドは、JSON レスポンスや UI 表示で非表示となるはずだ。しかし実際には、”/api/v1/connections/{connection_id}” への HTTP GET リクエストや、UI の [Connection Details] ページを介して、読み取り専用ユーザーが平文の値を閲覧できる状況にある。

影響を受ける要素には以下が含まれる。

  • データベースの認証情報 (ユーザー名/パスワード)
  • クラウド・プロバイダーのアクセスキー/シークレット
  • SSH 秘密鍵
  • API トークンなどのシークレットを含む JSON フィールド

Airflow 接続は、高権限の認証情報を保持する用途で頻繁に利用されるため、不正な読み取りアクセスは重大なリスクをもたらす。読み取り専用ロールを持つ攻撃者や内部関係者が、サービスアカウント・キーやクラウド認証情報を流出させ、下流のワークロード/データストア/クラウド環境全体を侵害する可能性がある。

この脆弱性自体は、書き込み操作やリモート・コード実行を許可するものではないが、認証情報の漏洩によりラテラルムーブメント/権限昇格/データ窃取などが容易となり、被害が拡大する恐れがある。さらに、漏洩した鍵を悪用する攻撃者が、監査証跡を残すことなく、本番データベースやクラウド・サービスへ侵入する可能性がある。

特に RBAC (Role-Based Access Control) を広範に適用し、多数のユーザーに対して読み取り権限を付与している組織は、深刻な危険に直面する。また、マルチ・テナント環境での共有型/セルフホスト型の Airflow デプロイメントでは、この脆弱性により、プラットフォームの機密保持モデルに根本的な欠陥が生じる。

なお、Airflow 2.x は影響を受けないという。これらのバージョンには、書き込み権限ユーザーのための専用マスキング・モデルが存在しないため、編集権限を持つユーザーに対してのみ、接続シークレットが表示され続けていた。

緩和策

すでに Apache Airflow プロジェクトは、バージョン 3.0.4 で修正を行い、書き込み権限を持つユーザーのための専用マスキングの動作を強化している。それにより、AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS コンフィグも正しく機能するようになった。Airflow 3.0.3 を利用中のユーザーに対して強く推奨されるのは、直ちに 3.0.4 へアップグレードすることである。

pip install --upgrade apache-airflow>=3.0.4

迅速なアップグレードが不可能な場合には、Airflow Web サーバの前段にプロキシ/API ゲートウェイを設置し、”/api/v1/connections/*” エンドポイントに含まれる機密フィールドをマスクするという、一時的な回避策が適用できる。その際には、以下のように環境変数をコンフィグする必要がある。

AIRFLOW__CORE__HIDE_SENSITIVE_VAR_CONN_FIELDS=True

ただし、このコンフィグのみでは不十分であり、バージョン 3.0.4 への更新が唯一の確実な修復手段となる。

この CVE-2025-54831 が浮き彫りにするのは、ワークフロー・オーケストレーションにおけるシークレット管理の複雑さである。管理者にとって必要なことは、Airflow 3.0.4 への速やかな更新および、RBAC ポリシーの精査であり、接続を通じてアクセスされる下流システムを監査することである。最善の対策は、警戒を怠らず、タイムリーにパッチを適用することだ。