この記事は、2021年12月16日時点の情報です。
記事の情報は、Atlassian の公式ドキュメント CVE-2021-44228 の FAQ と Multiple Products Security Advisory - Log4j Vulnerable To Remote Code Execution - CVE-2021-44228 の内容を参考に記載しています。
Apache Log4j 脆弱性 (CVE-2021-44228) について
2021年 12月10日に Log4j に影響するリモート コード実行 (RCE) の脆弱性 (CVE-2021-44228) が公開されました。
2.14.1以下の Log4j2 系 でログメッセージ、パラメータで利用される JNDI 機能が、LDAP や JNDI 関連のエンドポイントを攻撃者から保護されず、
メッセージルックアップ置換が有効になっていると、ログメッセージやパラメータを制御できる攻撃者が、LDAP サーバーからロードした任意のコードを実行できる脆弱性です。
脆弱性の詳細は、以下をご確認ください。
Atlassian 製品への影響
Cloud 製品
CVE-2021-44228 脆弱性の影響を受けません。
Atlassian Cloud 製品で脆弱なバージョンの Log4jを使用していましたが、パッチを適用し、現在はCVE-2021-44228 脆弱性の影響を受けません。
また、パッチ適用前も Atlassian システムや顧客データへの侵入は確認されていません。
Server/ Data Center 製品
Bitbucket Server / Data Center
Bitbucket Server/ Data Center で利用されるソフトウェアの Elasticsearch に潜在的な情報漏えいの影響があります (Elastic 社のセキュリティ勧告 ESA-2021-31)。
Bitbucket Server/ Data Center で利用されるソフトウェアの Elasticsearch は、リモートコード実行の影響を受けませんが、潜在的な情報漏えいの影響があります (Elastic 社のセキュリティ勧告 ESA-2021-31)。
情報漏えいのリスクを軽減するためのアクションが必要かどうかを、以下でご確認ください。
1. Bitbucket Server / Data Center(シングルノード) でバンドルされた Elasticsearch を利用している場合
よりも前にリリースされた以下の Bitbucket Server/Data Center バージョンで、バンドルされた Elasticsearch を利用している場合(ご自身で Elasticsearch の別インスタンスをセットアップしていない状態)は、追加のアクションが必要です。
6.10.16 よりも前のすべてのバージョン
7.x < 7.6.12
7.7.0 以降、7.14.2 未満のすべてのバージョン
7.15.x < 7.15.3
7.16.x < 7.16.3
7.17.x < 7.17.4
7.18.x < 7.18.3
7.19
追加のアクション
Linux/MacOS の場合
log4j2.formatMsgNoLookups=true フラグによる軽減策を適用した更新バージョンをリリースしました。
以下の脆弱性の影響を受けない次のバージョンにアップグレードします。ダウンロードページ より上記バージョンのインストーラを見つけ、ダウンロードし、Bitbucket Server アップグレード ガイドに記載の手順に従い、アップグレードを完了させてください。
Bitbucket バージョン 7.12 から 7.19 には、未使用の log4j-core コンポーネントが含まれていました。 Bitbucket ではログ記録に Log4j ではなく Logback を利用しているため、脆弱性への影響はありませんが、混乱を防ぐために以下の修正バージョンでは Log4j コンポーネントを取り除いています。
6.10.16
7.6.12
7.14.2
7.15.3
7.16.3
7.17.4
7.18.3
7.19.1
バージョンアップが即座にできない場合は、log4j2.formatMsgNoLookups=true フラグを手動で適用してください。
ファイル $BITBUCKET_HOME/shared/search/jvm.options の下部に次の行を追加してから Bitbucket Server を再起動します。
-Dlog4j2.formatMsgNoLookups=true
Windows の場合
log4j2.formatMsgNoLookups=true フラグを手動で適用してください。
ファイル $BITBUCKET_HOME/shared/search/jvm.options の下部に次の行を追加してから Bitbucket Server を再起動します。
-Dlog4j2.formatMsgNoLookups=true
2. Bitbucket Server / Data Center(シングル/クラスタノード) で外部の Elasticsearch を利用している場合
Elastic 社のセキュリティ勧告 ESA-2021-31 に従って Elasticsearch のバージョンアップをしてください。
時点でリリースされている Bitbucket では Elasticsearch 7.16 はサポートされていません。
最新のサポート対象バージョンを次のページでご確認ください。https://ja.confluence.atlassian.com/bitbucketserver/supported-platforms-776640981.html
Bitbucket 以外の Server/ Data Center 製品
デフォルトの構成では CVE-2021-44228 脆弱性の影響を受けません。
Bitbucket 以外の Atlassian 社の Server/ Data Center 製品は、 CVE-2021-44228 脆弱性の影響は受けません.
一部の Server/ Data Center 製品では、CVE-2021-44228 に対して脆弱ではない アトラシアンが管理する Log4j 1.2.17 のフォークを使用しています。
このフォークに対し、追加で分析しましたところ、信頼できるユーザーによってのみ悪用される可能性がある脆弱性を確認できました。Atlassian では、この脆弱性のレベルは Low と評価しています。
具体的には、Log4j 1.x系を使用する Atlassian Server/Data Center 製品では、以下のデフォルトではない構成がすべて該当する場合に今回の脆弱性の影響を受けます。
- Log4j 設定にて JMS Appender が設定されている
javax.jms
API がアプリケーションの CLASSPATH に含まれている- サードパーティ製アプリ等へ JNDI lookup を使うように JMS Appender が構成されている
アプリケーション側の設定を修正できる信頼されたユーザーや、信頼されたコードが実行時にプロパティを設定した場合のみ、実行できます。
アトラシアンが管理する Log4j 1.2.17 のフォークを用いた製品は以下になります。
Jira Server & Data Center
Confluence Server & Data Center
Bamboo Server & Data Center
- Crowd Server & Data Center
Fisheye
Crucible
脆弱性の影響を受ける可能性があるか確認する方法は?
一点目の「Log4j 設定にて JMS Appender が設定されている」については、Log4j 構成ファイルを点検することで確認できます。org.apache.log4j.net.JMSAppender を含む行があった場合は脆弱性の影響を受ける可能性があります。
org.apache.log4j.net.JMSAppender を含む行がない場合、脆弱性の影響を受ける構成は存在しません。
各製品の Log4j 構成ファイルのデフォルトの場所については、次の表をご確認ください。
製品 | デフォルトのパス |
---|---|
Jira Server & Data Center | <install-directory>/atlassian-jira/WEB-INF/classes/log4j.properties |
Confluence Server & Data Center | <install-directory>/confluence/WEB-INF/classes/log4j.properties |
Bamboo Server & Data Center | <install-directory>/atlassian-bamboo/WEB-INF/classes/log4j.properties |
FishEye / Crucible | <install-directory>/log4j.xml |
Crowd | <インストール ディレクトリ>/crowd-webapp/WEB-INF/classes/log4j.properties <インストール ディレクトリ>/crowd-openidclient-webapp/WEB-INF/classes/log4j.properties <インストール ディレクトリ>/crowd-openidserver-webapp/WEB-INF/classes/log4j.properties |
※ RickCloud 環境 をご利用のお客様につきましては、JMS Appender は無効となっております
Atlassian Marketplace のアプリへの影響
Cloud アプリ
Connect や Forge などのアプリを開発するために Atlassian がパートナーと共有しているツールは、CVE-2021-44228 に対して脆弱ではありません。
また、Atlassian が開発した Cloud アプリも脆弱ではありません。
Atlassian 社では、引き続きサードパーティ製の Cloud アプリを積極的にスキャン、レビューして、脆弱性があるかを判断します。
いままでのところ、脆弱なアプリを複数特定しましたが、今後数日間さらにスキャンとチェックを実行し、レビューにギャップがないか確認します。
この状況の深刻さを考慮しますと、脆弱なアプリを発見次第すぐに問題に対処する必要があります。脆弱性のあるアプリには、迅速に対処する期限を開発元に設定します。
Atlassian は、問題に対処しないアプリを一時停止し、脆弱なアプリがインストールされていることをお客様へ通知します。
Server / Data Center アプリ
Atlassian 社では、サードパーティ製の Server / Data Center アプリもスキャン、レビューを実施しています。
Atlassian が開発したアプリで CVE-2021-44228 の脆弱性があるものはまだ見つかっていませんが、サードパーティ製のアプリで脆弱性があるものは確認されています。
脆弱な Server / Data Center アプリには、Cloud アプリと同様に、Atlassian か迅速に対処する期限を設定します。
設定した期限内に脆弱性に対処できなかったアプリは Atlassian Marketplace から削除され、その後 Atlassian より脆弱なアプリがインストールされているお客様へ通知します。