Log4j 2.17.1でCVE-2021-44832(リモートコード実行)を修正。ただし、報道ほど深刻ではありません
2021年12月29日
0 分で読めます以前から予測されていたとおり、2021年12月28日午後7時35分頃(GMT)、Log4jロギングライブラリに影響する新たなセキュリティ脆弱性がCVE-2021-44832として公開されました。
新たに判明したセキュリティ脆弱性CVE-2021-44832は、修正済みと考えられていた2.17.0以前のバージョンに影響します。この脆弱性は、Log4j 1.xブランチに影響したCVE-2021-4104と類似しています。
CVE-2021-44832の影響
速やかにLog4jの最新修正版へアップグレードできる場合は、アップグレードしてください。ただし、このCVE-2021-44832の脆弱性はCVSSスコアが中程度の6.6であり、攻撃者が悪用するにはかなり厳しい前提条件が必要であることをお伝えしておきます。
CVE-2021-44832では、攻撃者がロギング設定ファイルの内容を制御・変更し、任意のJavaコードを読み込むためのリモートURIデータソースを指定できる場合、Log4j 2.17.0以前のバージョンでコード実行が可能とされています。
2.17.1での修正(およびライブラリの旧JVM互換バージョンへのバックポート)では、設定ファイル内のJNDIデータソースでJavaプロトコルのみを使用できるように制限し、リモートネットワークへの接続を禁止することで、この脆弱性を緩和しました。
CVE-2021-44832を修正するために今すぐ行うべきこと
Log4jチームは、このセキュリティ脆弱性の修正版を公開しました。
Java 8以降をお使いの場合は、Log4j 2.17.1にアップグレードしてください
Java 7向けの2.12.xブランチをお使いの場合は、Log4j 2.12.4にアップグレードしてください
Java 6向けの2.3.xブランチをお使いの場合は、Log4j 2.3.2にアップグレードしてください
相次ぐLog4j脆弱性情報の早すぎるリーク
この脆弱性の公表は、Log4jをめぐる無責任な情報開示の傾向がますます懸念される中で行われました。セキュリティ研究者が、メンテナーが問題を適切に修正し、新しいリリースを公開する前に、報告した脆弱性の詳細をリークする事例が続いています。
この問題は、最初のLog4j RCEから始まりました。研究者が公式発表の数時間前に、脆弱性の詳細や概念実証(PoC)までTwitterやGitHubにリークしたのです(タイムラインをご覧ください)。今回も、脆弱性の発見者を名乗るセキュリティ研究者によって、公式リリースの数時間前にその存在がTwitterでリークされました。
どちらのケースも、悪意はなかったと思われるものの、情報のリークによってApacheは急いでリリースせざるを得なかったようです(その結果、新しいリリースにさらなる脆弱性やバグが入り込む余地が生まれるおそれがあります)。また今回については、Apacheが選択できるのであれば、多くの組織が長期休暇に入り、問題の優先度を判断して必要な修正を迅速に適用しにくい時期に、リリースを急ぐことは望まなかったと考えられます。
オープンソースセキュリティは、社会全体にとってますます重要になっており、責任ある脆弱性開示の実践は、コミュニティ全体のセキュリティを維持するうえで欠かせません。今後、Log4jやその他のオープンソースパッケージで脆弱性が公表される際には、より安全な方法で対応できることを願っています。
Snykは常に、責任ある脆弱性開示プログラムに取り組むとともに、新たな脅威の兆候に警戒し、ユーザーとオープンソースコミュニティ全体に、迅速で実践に役立つ情報を提供していきます。



