Apache Flink の任意の Jar パッケージのアップロードにより、リモート コード実行の脆弱性が再発する問題が発生する (脆弱性警告)

Apache Flink の任意の Jar パッケージのアップロードにより、リモート コード実行の脆弱性が再発する問題が発生する (脆弱性警告)

脆弱性の説明

Apache Flink は、分散ストリームおよびバッチ データ処理用のオープン ソース プラットフォームです。 Flink は本質的に、データ ストリーム上の分散コンピューティングにデータ配布、通信、フォールト トレランス機能を提供するストリーミング データフロー エンジンです。 Flink はストリーミング エンジン上にバッチ処理を構築し、ローカル反復サポート、管理メモリ、プログラム最適化をカバーします。最近、セキュリティ研究者は、Apache Flink が任意の jar パッケージのアップロードを許可し、リモート コード実行につながることを発見しました。

脆弱性レベル

高リスク

インパクト

Apache フリンク <=1.9.1

脆弱性の再現

まず、Apache Flink 1.9.1 インストール パッケージをダウンロードして解凍します。次に、bin フォルダーに移動して ./start-cluster.sh を実行し、環境を起動します。次の図に示すように、ブラウザーを使用して http://ip:8081 にアクセスし、成功したかどうかを確認します。

次に、生成された jar トロイの木馬ファイルを使用して、次の図に示すようにアップロードします。

監視するために msf を開き、「送信」をクリックすると、シェルが正常に返されることがわかります。次の図に示すように:

修復の提案

ユーザーは、Apache Flink の公式 Web サイトに注意し、この脆弱性に対する最新のパッチを適時に入手することをお勧めします。

一時的な解決策の提案

信頼できる IP のみがコンソールにアクセスできるように IP ホワイトリストを設定し、アクセス認証を追加します。

脆弱性検出方法

現在、次の図に示すように、GitHub 上に対応する公開検出 POC が存在します。

リンク: https://github.com/LandGrey/flink-unauth-rce

要約する

上記は、Apache Flink に Jar パッケージをアップロードすることで発生するリモート コード実行の脆弱性の再発です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • リアルタイムコンピューティングフレームワークFlinkクラスタの構築と動作メカニズムについての簡単な説明
  • Flink はどのようなデータ型をサポートしていますか?
  • ビッグデータ処理エンジンFlinkのメモリ管理を詳しく解説
  • Reactor を使用して Flink のような操作を実行する方法
  • IDEA で Flink タスクを実行するための実践的なチュートリアル
  • IDEAでFlink開発環境を構築してテストする方法
  • Flink WordCount プロセス分析を実装するための Java ラムダ式
  • Apache FlinkCEP でタイムアウトステータス監視を実装するための詳細な手順
  • ビッグデータ HelloWorld-Flink は WordCount を実装します
  • Flinkのフォールトトレラントメカニズムに関する簡単な説明:ジョブ実行とデーモン

<<:  MySQL クロスデータベーストランザクション XA 操作の例

>>:  Vueで背景色と透明度を設定する方法

推薦する

Tencent Cloud Server Centosにデータディスクをマウントする方法

まず、ハードディスクデバイスにデータディスクがあるかどうかを確認します # まずfdisk -lを実...

MySQLのバッファプールの詳細な説明

MySQL のデータはディスクに書き込む必要があることは誰もが知っています。ディスクの読み取りと書き...

HTML テーブルインライン形式の詳細な説明

インライン形式<colgroup>...</colgroup>属性名 属性値...

JavaScript のアンチシェイクとスロットリングの違いと実装

目次1. 手ぶれ補正2. スロットリング3. まとめ序文:フロントエンド開発者には、次の 2 つの要...

Linux システム ディレクトリ sys、tmp、usr、var の詳細な説明。

Linux 初心者から Linux マスターへの成長の道: Linux システム ディレクトリ s...

VirtualBox+Ubuntu16でKubernetesクラスタを構築する実装

目次Kubernetesについて基本的な環境の準備VirtualBoxをインストールするUbuntu...

MySQLの不合理なMaxIdleConnsにより接続が短くなる

1 背景最近、Shimo Document のオンライン ビジネスでパフォーマンスの問題が発生しまし...

テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

GolangでMySQLデータベースのバックアップを実装する方法

背景Navicat は、最高の MySQL 視覚化ツールです。ただし、ビューのインポートとエクスポー...

分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...

MySQL スケジュール データベース バックアップ (フル データベース バックアップ) の実装

目次1. MySQLデータのバックアップ1.1. データをバックアップするためのmysqldumpコ...

ウェブデザインの達人がよく使うレスポンシブフレームワークを共有する(要約)

この記事では、Web デザインの達人がよく使用するレスポンシブ フレームワーク (概要) を紹介し、...

Nginxはhttpリクエスト実装プロセス分析を処理する

Nginxはまず、設定ファイル内のどのserver{}ブロックを処理に使用するかを決定します。次のs...

...

Windows 2016 Server セキュリティ設定

目次システムアップデート構成Windows Update サーバーの変更自動更新を有効にして許可する...