Critical Apache Flink Vulnerability Enables Remote code execution Attacks
2026/05/19 CyberSecurityNews — 新たに公開された Apache Flink の深刻な脆弱性 CVE-2026-35194 により、SQL インジェクションを起点とするリモート・コード実行 (RCE) 攻撃の危険性に、分散データ処理環境がさらされている。この脆弱性は Apache Flink の SQL コード生成メカニズムに存在し、動的に生成される Java コードへ埋め込まれるユーザー入力データが、適切にサニタイズされないことに起因する。その結果、クエリ実行権限を持つ認証済みユーザーは、文字列境界をエスケープする悪意のペイロードを注入して、任意のコード実行を可能にする。

具体的に影響を受ける機能は以下の通りである。
- JSON 関数 (Flink 1.15.0 で導入)
- ESCAPE 句を含む LIKE 式 (Flink 1.17.0 で導入)
これらの機能を悪用する攻撃者は、コード生成プロセスを操作する細工済み SQL クエリを作成することで、最終的に Flink クラスタ内の TaskManager ノード上で任意のコード実行を達成する。
アドバイザリによると、影響を受けるバージョンは以下の通りである。
- Apache Flink 1.15.0 ~ 1.20.x (1.20.4 未満)
- Apache Flink 2.0.0 ~ 2.x (2.0.2/2.1.2/2.2.1 未満)
この脆弱性の情報は、Apache コントリビュータである Martijn Visser により 2026年5月15日に公開され、本番クラスタへの影響の大きさから、深刻度は Critical と評価されている。
Apache Flink の脆弱性
この脆弱性の原因は、SQL から Java へのコード変換時における安全でない文字列補間にあり、ユーザーが制御する入力が、適切なエスケープや検証なしに生成コードへと直接挿入されるため、攻撃者は以下のアクションを実行できるようになる。
- 生成された Java コード内の文字列リテラルからの脱出
- 任意の Java 式やメソッド呼び出しの注入
- 分散された TaskManager ノード上での悪意のコード実行
Flink のアーキテクチャ特性により、この脆弱性が悪用された場合には、クラスタ全体でのデータ改竄と完全侵害に加え、環境内での横展開につながる可能性がある。この脆弱性は、クエリ実行権限を持つユーザーが存在する、マルチ・テナント環境や共有環境において特に危険であり、管理者権限を持たない攻撃者であっても、権限昇格を行った後のバックエンド処理ノードを制御できるようになる。
対策と緩和策
すでに Apache は、修正版を公開している。ユーザーに対して強く推奨されるのは、バージョン 1.20.4/2.0.2/2.1.2/2.2.1 への速やかなアップグレードである。
追加の緩和策として、以下が挙げられる。
- クエリ実行権限を信頼されたユーザーのみに制限。
- SQL クエリ・アクティビティを監視し、異常パターンを検出。
- TaskManager ノードに対するランタイム・セキュリティ制御の実装。
この脆弱性が悪用されると、本番環境で Apache Flink を使用する組織の運用とデータ・セキュリティに、深刻なリスクが発生する可能性がある。そのため、パッチ適用を最優先すべきである。
訳者後書:Apache Flink の脆弱性 CVE-2026-35194 (RCE) の原因は、裏側で動くプログラムの仕組みにあります。 Flink では SQL から Java へのコード変換が行われますが、その際にユーザーが入力した文字列が適切な検証やエスケープなしに直接挿入されてしまう、安全でない文字列補間が生じます。その結果として、悪意のクエリにより Java コードの文字列リテラルからのエスケープが生じ、任意のコード実行へと至ってしまいます。ご利用のチームは、ご注意ください。よろしければ、Apache で検索も、ご参照ください。
You must be logged in to post a comment.