Log4j 2.17.1リリース、2.17.0の新しいリモートコード実行バグを修正

Apacheは、2.17.0で新たに発見されたリモートコード実行(RCE)の脆弱性(CVE-2021-44832)を修正したLog4jの別バージョン、2.17.1をリリースしました。

https://logging.apache.org/log4j/2.x/security.html

これまででは、2.17.0がLog4jの最新バージョンであり、アップグレードするのが最も安全であると考えられていましたが、さらに進化しています。

1ヶ月以内に5つ目のLog4j CVEが発生

Log4Shellの脆弱性(CVE-2021-44228)は、12月9日にGitHubで公開されたPoCエクスプロイトをきっかけに、脅威グループによる大量利用が始まりました。

大半のJavaアプリケーションでLog4jが多用されていることから、Log4Shellはすぐに世界中の企業や政府にとっての脅威となりました。

Log4Shellの脆弱性は、非常に深刻な問題ですがLog4jの2.15や2.16といったバージョンでは、この脆弱性のより穏やかな亜種が出現しています(以前は完全にパッチが適用されていると考えられていました)。

Log4jに影響を与える4つの異なるCVEについて報告しており、そのうちの1つは「logback」フレームワークで発見されました。バージョン2.16にDoSの脆弱性が発見された後、最も安全とされるバージョン2.17.0へのアップグレードを勧める声が急速に高まっていました。

しかし今回、5つ目の脆弱性であるRCEの脆弱性(CVE-2021-44832)が2.17.0に発見され、そのパッチが最新のリリースである2.17.1に適用されました。

深刻度は「中程度」、CVSSスコアは「6.6」で、この脆弱性はlog4jにおけるJDNIアクセスの追加制御が行われていないことが原因となっています。

JDBC Appenderは、JNDIにアクセスする際、JndiManagerを使用する必要があります。JNDIへのアクセスは、システムプロパティによって制御されるべきです

CVE-2021-44832に関連しており、ロギング設定ファイルを変更する権限を持つ攻撃者が、JNDI URIを参照するデータソースを持つJDBC Appenderを使用して悪意のある設定を構築し、リモートコードを実行することができます。

Checkmarx社のセキュリティ研究者であるYaniv Nizry氏は、この脆弱性をApacheに報告したとコメントしています。

https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/

1週間にわたるコードのレビューとテストの結果、新たな未発見のデシリアライズのセキュリティ脆弱性に遭遇しました。この脆弱性は、無効化されたルックアップ機能を使用していません。この脆弱性は、攻撃者が設定を制御する必要があるため、元のCVE-2021-44228よりも複雑です(「logback」脆弱性CVE-2021-42550のように)。

logbackとは異なり、log4jではリモートの設定ファイルをロードしたり、コードを通してロガーを設定する機能があるため、MITM攻撃、ユーザーの入力が脆弱な設定変数に行き着く、または設定ファイルを修正することで、任意のコード実行が可能になります。

「これが冗談であってほしい、そう願っています…。#log4j」とあるユーザーがツイートしています。

別のユーザは「私たちは、唯一の責任ある行動が、”LOG4Jは修正できない,とりあえず使うな”と書かれた巨大なネオンサインを点滅させることである、という段階をとうに過ぎています」と書いていました。

情報公開が早すぎた?

Nizryがツイートした時点では、このツイートには脆弱性やその悪用方法についての詳細は書かれていませんでしたが、数分後にはセキュリティ専門家やネットユーザーがこの主張を調査し始めました。

12月9日に発生したLog4Shellの脆弱性流出事件に見られるように、セキュリティ上の脆弱性を早急に公表することは、悪意のあるスキャンや悪用行為を誘うことになります。

Okta社のサイバーセキュリティ担当副社長であるMarc Rogers氏は、脆弱性の識別子(CVE-2021-44832)を悪用するにはデフォルトではないlog4jの設定が必要であり、設定はリモートサーバから読み込まれることを最初に公表しました。

これまでlog4jの脆弱性は、国家ぐるみのハッカーやランサムウェアグループなど、あらゆる種類の脅威グループに悪用され、脆弱なシステムにMoneroのマイナーを注入されてきました。

ランサムウェアグループであるContiは、脆弱なVMWare vCenterサーバを狙っていることが確認されています。一方、ベトナムの暗号プラットフォーム「ONUS」にlog4shellを介して侵入した攻撃者は、500万ドルの身代金を要求しました。

Log4jのユーザーは、直ちに最新のリリース2.17.1(Java 8対応)にアップグレードする必要があります。また、この修正プログラムを含むバックポート版2.12.4(Java 7)および2.3.2(Java 6)もまもなくリリースされる予定です。

コメントを残す

メールアドレスが公開されることはありません。