Apache から Log4j 2.17.1 がリリース:新たなリモートコード実行 CVE-2021-44832 に対応

Log4j 2.17.1 out now, fixes new remote code execution bug

2021/12/28 BleepingComputer — Apache は、Log4j 2.17.0 における、新たなリモートコード実行 (RCE) 脆弱性 CVE-2021-44832 をに対して、新バージョン 2.17.1 をリリースし、この問題を修正した。今日までは、2.17.0 が Log4j の最新バージョンであり、アップグレードする対象として、最も安全であると考えられていたが、アドバイザリは進化している。

Log4j における5つ目の CVE

Log4Shell の脆弱性 (CVE-2021-44228) は、12月9日の GitHub での PoC エクスプロイトの公開をきっかけに、脅威アクターたちによる大規模な悪用が始まった。大半の Java アプリケーションで Log4j が使用されていることから、この Log4Shell と名付けられた脆弱性は、世界中の企業や政府にとって悪夢となった。

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

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

しかし今回、5つ目の脆弱性である RCE の脆弱性 (CVE-2021-44832) が Ver 2.17.0 で発見され、そのためパッチが、最新のリリースである 2.17.1 に適用された。
この脆弱性の 深刻度は中程度であり、CVSS 値 6.6 であり、JDNI アクセスの追加制御が行われていないことに起因している。

BleepingComputer が確認した範囲では「JDBC Appender は、JNDI にアクセスする際に、JndiManager を使用する必要がある。JNDI へのアクセスは、システムプロパティにより制御されるべきである。脆弱性 CVE-2021-44832 に関連しており、ロギング・コンフィグレーション・ファイルを変更する権限を持つ攻撃者が、JNDI URI を参照するデータソースを持つ JDBC Appender を使用して悪意のコンフィグレーションを構築し、リモートからコードを実行できる」となるようだ。

Checkmarx のセキュリティ研究者である Yaniv Nizry は、この脆弱性を Apache に報告したと述べている。また、彼のツイートは爆発的に広まり、セキュリティ専門家や log4j パッチ適用疲れの犠牲者からの発言やミームを集めている。あるユーザーは「これが冗談であってほしい、そう願っている…。#log4j」とツイートしている。

別のユーザーは、「私たちの、唯一の責任ある行動は、”LOG4J CANNOT BE FIXED, DO NOT USE IT FOR ANYTHING” と書かれた巨大なネオンサインを点滅させることだ、という段階をとうに過ぎている」と述べている。

セキュリティ専門家である Kevin Beaumont は、今回の事例を「休暇中に行われた Log4j の情報開示の失敗」としている。

情報公開が早すぎた?

Nizry がツイートした時点において BleepingComputer は、Log4j 2.17 に RCE バグが存在することを示す公式のアドバイザリやメモを見ていなかった。このツイートには、脆弱性や悪用方法について、詳細は書かれていなかったが、数分後には、セキュリティ専門家やネットユーザーが、彼の主張を調査し始めた。12月9日に発生した Log4Shell の脆弱性流出インシデントに見られるように、セキュリティ上の脆弱性を早急に公表することは、悪意のスキャンや悪用行為を誘うことになる。

Okta の VP of cybersecurity である Marc Rogers は、最初に、この脆弱性の識別子である CVE-2021-44832 を開示し、このバグを悪用するには、デフォルトではない Log4j コンフィグレーションが必要であり、それはリモートサーバーから読み込まれることを公表した。

これまでの Log4j の脆弱性は、国家に支援されたハッカーやランサムウェア・ギャングなどの、あらゆる種類の脅威アクターに悪用され、脆弱なシステムに Monero マイナーなどを注入してきた。ランサムウェア・ギャングである Conti は、脆弱な VMWare vCenter サーバーを狙っていることが確認されている。その一方で、ベトナムの暗号プラットフォーム ONUS に、Log4Shell を介して侵入した攻撃者は、$5 million の身代金を要求している。

Log4j のユーザーは、直ちに最新のリリース 2.17.1 (Java 8対応) にアップグレードすべきだ。また、この修正プログラムを含むバックポート版 2.12.4 (Java 7) および 2.3.2 (Java 6) も、まもなくリリースされる予定だ。BleepingComputer では、事前に Checkmarx にコメントを求めており、その回答を待っているところだ。

4つ目の脆弱性かと思ったら、すでに5つ目になっているようです。アップデートが繰り返され、頭の痛いところですが、早すぎた情報公開と決めつけるのは可哀想ですね。これまでのアップデートに関する記事としては、12月10日の「Log4j Java library の深刻なゼロデイ脆弱性 CVE-2021-44228 に対処するには?」や、12月15日の「Log4j の2つ目の脆弱性 CVE-2021-45046 が悪用されている:3つ目の脆弱性も浮上」などがあります。ご参照ください。→ Log4j まとめページ

%d bloggers like this: