Apache Log4j 2.x FilteredObjectInputStream許可リストバイパスRCE(Log4j #4255)

critical Nessus プラグイン ID 341335

概要

リモートホストは、認証されていないリモートコードの実行に対して脆弱なLog4j TCPログレシーバーを実行しています。

説明

リモートホストは、逆シリアル化フィルタリングに FilteredObjectInputStream(FOIS)を使用する Log4j 2 シリアル化 LogEvent TCP レシーバー(log4j-samples リポジトリに付属の ObjectInputStreamLogEventBridge サンプルなど)を実行しています。

Log4j 2 FOIS は、LogEventProxy が内部メッセージを MarshalledObject として保存するため、java.rmi.MarshalledObject を許可リストに載せます。ただし、MarshalledObject.get() は、2 番目の UNFILTERED ObjectInputStream を開き、その objBytes ペイロードを読み取り、フィルターを無効にします。受信者のTCPポートに接続できる認証されていないリモートの攻撃者が、CommonsCollectionsガジェットチェーンを埋め込むmarshalledMessageの特別に細工されたシリアル化LogEventProxyを送信する可能性があります。クラスパスに Commons Collections <= 3.2.1 が含まれるレシーバーで逆シリアル化されると、任意の OS コマンドが実行されます。

悪用に必要な条件:
- アプリケーションが、認証されていない FOIS ベースのシリアル化された LogEvent TCP レシーバー(認証なし、TLS なし)を展開します。
- Commons Collections 3.2.1 (またはそれ以前)が JVM クラスパスにあります。
(CC 3.2.2 は、ガジェットが依存する安全でない関数シリアル化を無効にします。CC 3.2.2 は影響を受けません。)
- java.rmi.MarshalledObject または MarshalledObject 子孫タイプを拒否する追加の jdk.serialFilter はありません。

悪用はファイア・アンド・フォーゲットです:受信者はイベントを警告なしで処理し、悪用されても「処理済みイベントはOK」と記録されます。唯一信頼できる検出は、ターゲットからの帯域外コールバックです。

このプラグインは 2 つの検出ステージを使用します。1 つ目は、悪用コマンドが Nessus 制御のホスト名の DNS ルックアップをトリガーする DNS コールバックです。
2 つ目は、直接 TCP ソケットコールバックです。このコールバックでは、ターゲットがスキャナーに接続して一意のコントロールトークンを送信します。いずれかのステージで確認された応答は、サーバー側でコードが実行されたことを証明します。

ソリューション

次のいずれかの緩和策を適用してください。
1. Commons Collections を 3.2.2 以降にアップグレードしてください(安全でない Transformer ファンタを無効にします)。
2. jdk.serialFilter = '!java.rmi.MarshalledObject;...' を追加しますMarshalledObject の逆シリアル化を完全に拒否します。
3. 認証されていない TCP ログレシーバーを削除するか、ファイアウォールで保護します。

参考資料

https://github.com/apache/logging-log4j2/discussions/4168

https://github.com/apache/logging-log4j2/issues/4255

https://logging.apache.org/security/faq.html#deserialization

プラグインの詳細

深刻度: Critical

ID: 341335

ファイル名: apache_log4j2_4255_fois_bypass_rce.nbin

バージョン: 1.1

タイプ: Remote

ファミリー: Misc.

公開日: 2026/8/28

更新日: 2026/8/28

サポートされているセンサー: Nessus

脆弱性情報

CPE: cpe:/a:apache:log4j

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

Nessus によりエクスプロイト済み: true

脆弱性公開日: 2024/10/1