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で背景色と透明度を設定する方法

推薦する

JavaScript Alert関数の実行順序の詳細な説明

目次質問分析する解決するAlert() 関数を置き換えるsetTimeOut関数まとめ質問数日前、J...

JavaScript の基礎: 即時実行関数

目次関数フォーマットを即時実行関数を即座に実行する他の方法 – 式即時実行される関数はパラメータを取...

MySQL 5.7.25 のインストールと設定方法のグラフィックチュートリアル

MySQL インストール ファイルには、msi 形式と zip 形式の 2 種類があります。クリック...

ウェブページ内でウェブテーブルやdivレイヤーが引き伸ばされる問題の解決策

<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...

フラッシュコンテンツの表示に使用される OBJECT タグと EMBED タグの違いの紹介

1. はじめに:ウェブページにフラッシュ コンテンツを正常に表示したい場合は、ページ上のフラッシュ ...

MySQL 制約の超詳細な説明

目次MySQL 制約操作1. 非ヌル制約2. ユニーク制約3. 主キー制約4. 外部キー制約5. カ...

Linuxで大きなファイルを素早くコピーする方法

データをコピーリモートでデータをコピーする場合、通常は rsync コマンドを使用しますが、小さなフ...

sqlite3 から mysql に移行するときに起こりうる問題のコレクション

簡単な説明適切な読者: モバイル開発sqlite3 データを mysql に移行する場合、多くの構文...

jQueryは画像の強調表示を実現します

ページ上の画像を強調表示することは非常に一般的です。ここでは、jQuery を使用して画像を強調表示...

MySQL ビューの一貫性を確保する方法の詳細な説明 (チェック オプション付き)

この記事では、例を使用して、MySQL ビューの一貫性を確保する方法 (チェック オプションを使用)...

Vue+Openlayer で select を使用して要素を選択する実装コード

効果画像: 実装コード: <テンプレート> <div id="map&q...

better-scrollプラグインのスライドできないバグについて(2021年プラグインで解決)

より良いスクロールの原則親コンテナーであるため、ラッパーの高さはコンテンツのサイズに応じて増加します...

HTML タイトル属性をラップする方法

数日前にプログラムを書いていたとき、プロンプト情報 (TITLE) を新しい行で囲みたいと思いました...

MySQL カーソルの概念と使用法の詳細な説明

この記事では、例を使用して MySQL カーソルの概念と使用方法を説明します。ご参考までに、詳細は以...

Windows に WSL をインストールして構成する方法

WSLとはBaidu 百科事典からの一節を引用します。 Windows Subsystem for ...