Apache Log4jの任意のコード実行の脆弱性に関する緊急注意喚起

2022.1.18更新

複数の脆弱性が確認されているため現在の脆弱性と修正リストを以下に示しました。

  • CVE-2021-44228(CVSSスコア:10.0)-Log4jバージョン2.0-beta9から2.14.1に影響を与えるリモートコード実行の脆弱性(バージョン2.15.0で修正済み)
  • CVE-2021-45046(CVSSスコア:9.0)-2.12.2を除く2.0-beta9から2.15.0までのLog4jバージョンに影響を与える情報漏えいとリモートコード実行の脆弱性(バージョン2.16.0で修正済み)
  • CVE-2021-45105(CVSSスコア:7.5)-2.0-beta9から2.16.0までのLog4jバージョンに影響を与えるサービス拒否の脆弱性(バージョン2.17.0で修正済み)
  • CVE-2021-4104(CVSSスコア:8.1)-Log4jバージョン1.2に影響を与える信頼できない逆シリアル化の欠陥(修正はありません。バージョン2.17.0にアップグレードしてください)
  • CVE-2021-44832(CVSSスコア:6.6)-2.3.2および2.12.4のセキュリティ修正を除く、Log4j2バージョン2.0-beta7から2.17.0に影響を与えるリモートコード実行の脆弱性。(2.3.2(Java 6の場合)、2.12.4(Java 7の場合)、または2.17.1(Java 8以降の場合)にアップグレードすることで修正されました。

2021年12月9日にApachelog4j 2に存在するリモートコード実行(RCE)の脆弱性が実際に悪用されていることが確認されました。 脆弱なシステムに悪意のあるリクエストを送信することで、攻撃者がシステムに悪意のあるペイロードをダウンロードして 実行するよう指示できるケースがあります。 Apachelog4j はさまざまなクラウドサービスや製品に利用されており、 自社プロダクツや顧客に納品したシステムでも多用されているシェアの高いOSSです。 同様の攻撃が日本国内でも発生しうる 可能性が高いと判断し、緊急注意喚起を行います。
もっとも早いアクティビティは12/1からとの報告があります。つまり、既に侵入された事態を想定して行動する必要があり、不正なアカウント等の継続的な調査が必要です。また、SMTP を介した攻撃やな Base64 での難読化観測されており注意が必要です。
各社の脆弱性対応状況は オランダ National Cyber Security Centrum の Software overview(Github)を参照してください。

Apache Log4j 2.15.0」の対策は不完全(15日追加)

「Log4j 2.15.0」ではサービス拒否攻撃(DoS)を許す問題(CVE-2021-45046)が残っている。
「CVE-2021-45046」は、「Log4j 2.16.0」で対処されている。
Apache Log4jの脆弱性問題、さらなる修正版が公開
Download Apache Log4j 2

2.16.0に新たな脆弱性、深刻度High 2.17.0 へのアップデートが必要(21日追加)

2.16.0 までの2系バージョンにはDoS攻撃が可能な脆弱性(CVE-2021-45105、CVSSスコア 7.5)がある。
デフォルト以外で構成している場合、Lookupで再帰的に自己参照が可能ば不具合。
Apache、Log4jに関する3つ目の修正パッチを公開 新たな脆弱性を修正 Javaログ出力ライブラリ「Log4j」の脆弱性、修正した最新版2.17.0をリリース

2.17.0に新たな脆弱性、深刻度 Moderate 2.17.1へのアップデートが必要(30日追加)

2.17.0までの2系バージョンには、ログ設定ファイルを変更する権限を持つ攻撃者が、JNDI URI を参照するデータソースを持つ JDBC Appender を使って悪意のある設定を構築し、リモートコードを実行可能。Log4j2 バージョン 2.17.1、2.12.4、および 2.3.2で修正。

Apache log4jの概要

Apache log4j はJavaベースのロギングのユーティリティです。2015年にlog4j 1 からlog4j 2にアップグレードし、Apple、Twitter、Amazon、LinkedInなどの クラウドサービスや、 Apache Solr、Apache Druid、Apache kafka、Apache Struts2、ElasticSearch などの OSS で多数利用されています。

脆弱性の内容(出典:CIS、機械翻訳)

脆弱性は Apache log4jライブラリのJNDI Lookup にあります(Java Naming and Directory Interface)。このJNDI Lookup を使えば JNDI を介して変数を取得できます。これは、Javaアプリケーションに命名およびディレクトリ機能を提供するAPIです。log4j APIは LDAP とリモートメソッド呼び出しをサポートします。
Javaで記述された多くのサービスやアプリケーションなど、Javaロギングライブラリを使用するシステムやサービスのコンテキスト内で任意のコードが実行される可能性があります。これらのシステムとサービスに関連付けられている特権に応じて、攻撃者はプログラムをインストールする可能性があります。データの表示、変更、または削除。または、完全なユーザー権限で新しいアカウントを作成します。これらのシステムとサービスがより少ないユーザー権限を持つように構成されている場合、この脆弱性の悪用は、管理者権限で構成されている場合よりも影響が少ない可能性があります。
A Vulnerability in Apache Log4j Could Allow for Arbitrary Code Execution

実証コード

RCE in log4j, Log4Shell, or how things can get bad quickly
CISCO TALOS Threat Advisory によると SMTP を介してCVE-2021-44228を悪用する動きが観測されています。
ヘッダー、タイトル、本文に JNDI Lookup を含めている場合があります。今後、攻撃の巧妙化が進むおそれがあります。

アクションすべき事項(12/16修正)

すでに、Apache log4j の脆弱性スキャンが広範囲にわたって行われています。至急、社内リソース、顧客向けシステムでのApache log4j の利用状況を調査し、Apache Log4j 2.16.0へのバージョンアップを行ってください。
なお、Apache Log4j 2.16.0 は既定でlookupが無効になっていることに注意してください。

  1. 経営者はこの脆弱性が世界中で悪用される可能性を認識し、社内とサプライチェーンに対して、セキュリティの強化を呼びかけて下さい。
  2. 開発責任者とセキュリティ担当者、システム管理者の方は、至急、以下の項目をチェックして下さい。

影響を受ける(受けない)製品(12/30変更)

オープンソースのスキャナー

動的テスト(12/16追加)

github NMAP Scripting Engine
github Cyber​​Reason –(軽減策も実行されますが、自動化された軽減策には注意を払うことをお勧めします)
Huntress Tester
github FullHunt
github Logpresso

ソースコードスキャン(12/17追加)

github grype コンテナイメージとファイルシステムの脆弱性スキャナー
github syft コンテナイメージとファイルシステムからソフトウェア部品表(SBOM)を生成するためのCLIツールとGoライブラリ

エクスプロイトの検出(12/16追加)

github Neo23x0 Log4Shell Detector
github Neo23x0 Log4j RCE Exploitation Detection

参考リンク

Log4j2の脆弱性(CVE-2021-44228)について
Log4jの深刻な脆弱性CVE-2021-44228についてまとめてみた
JPCET/CC Apache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起
CVE-2021-44228 詳細
Log4jAttackSurface
システムの重要な基盤「Log4j」の脆弱性が、世界中に“破壊的”な影響を及ぼしている
脅威に関する情報: Apache Log4jに新たな脆弱性(CVE-2021-44228) 実際の悪用も確認
Apache Log4jに深刻な脆弱性、IT各社が調査対応を開始
「やばすぎる」 Javaライブラリ「Log4j」にゼロデイ脆弱性、任意のリモートコードを実行可能 iCloudやSteam、Minecraftなど広範囲のJava製品に影響か
シスコ製品に影響を与えるApache Log4jライブラリの脆弱性
マイクラもハッキング ~「Apache Log4j」ライブラリに致命的なリモートコード実行のゼロデイ脆弱性【12月10日18:45追記
Redhat RHSB-2021-009 Log4Shell – Remote Code Execution – log4j
Oracle Oracle Security Alert Advisory – CVE-2021-44228
VMware VMSA-2021-0028.1
Kaseya Log4j2 Vulnerability Assessmen
cPanel log4j CVE-2021-44228, does it affect Cpanel?
CVE-2021-44228 Apache Log4j 2 に対するマイクロソフトの対応
IPA 更新:Apache Log4j の脆弱性対策について(CVE-2021-44228)
LAC 【注意喚起】Log4jの脆弱性を狙う攻撃を多数検知、至急対策を!
Amazon Web Services ブログ Apache Log4j のためのホットパッチ
Log4j、バージョン2.16.0が登場 問題の機能を削除やデフォルト無効に