Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


Apache Log4j 任意コード実行の脆弱性(CVE-2021-44228)

Log4j 任意コード実行の脆弱性(CVE-2021-44228)

JavaベースのオープンソースのロギングライブラリのApache Log4jに、任意コード実行の脆弱性(CVE-2021-44228)が見つかりました。弊社製品における影響と、公開されている解決策の情報についてまとめました。

Apache Log4j (CVE-2021-44228) の弊社製品における影響

Valence製品に関して

Valence製品にはLog4j 1.x 系が利用されています。
(CVE-2021-44228)の問題はLog4j 2.xに限定されるため影響を受けません。
また、ValenceでのJavaプログラムはバックエンドのユーティリティのみで利用されています。UIから直接呼び出すことはできません。

しかしながら、次回以降のValence6からはlog4jの使用を削除します。

他のサードパーティ製の製品にてLog4j2を利用している場合は、Log4j2を最新(2.16.0)までバージョンアップすることをお勧めします。バージョンアップができない場合 、Log4j2のバージョンが2.10以降であれば、環境変数の値を設定することで脆弱性を軽減することが可能です。

ADDENVVAR ENVVAR(LOG4J_FORMAT_MSG_NO_LOOKUPS) VALUE('true') REPLACE(*YES) LEVEL(*SYS)

詳細については以下リンクをご確認ください。

Log4Shell Part 1: Answering FAQs on the Log4Shell Security Vulnerability - TechChannel
Jesse Gorzinksi on the Log4Shell security vulnerability, what it impacts and how to remediate the problem in Java progra...

JC/400 , SmartPad4i 製品に関して

JC/400製品につきましては、Log4jが利用されておりません。
SmartPad4i/Cobos4i については、Log4j V1.xが含まれています。
Log4j V1.x系のため(CVE-2021-44228)の問題は適用されません。

(CVE-2021-44228) と比較すると軽微な問題ですが、Log4j 1.x系でも(CVE-2021-4104)が報告されています。現在、開発元では CVE-2021-4104 について対応を協議しています。

また、JC/400やSmartPad4iのプラットフォームとなるWebSphere Application Serverについてはパッチの提供が行われています。
WASの環境が WebSphere Application Server V8.5.5.11以降であれば、IBMから提供されているPatchを適用することでLog4jの問題を改善できます。

WebSphere Application Server V8.5.5.11以降 にバージョンアップ後パッチを適用してください。

Vulnerability in Apache Log4j affects WebSphere Application Server (CVE-2021-44228 CVSS 10.0)

https://www.ibm.com/support/pages/node/6525672

IBM WebSphere Application Server (CVE-2021-44228 CVSS 10.0) パッチの適用手順

Windows版 WebSphere Application Server V8.5.5

Vulnerability in Apache Log4j affects WebSphere Application Server (CVE-2021-44228 CVSS 10.0)

IBM Fixcentralよりダウンロードしたパッチファイル 8.5.5.11-ws-wasprod-ifph42728.zip を展開してWindowsサーバー上、任意のディレクトリに配置します。

WebSphere Application Server のサービスを停止後、Installation Managerを起動します。

ファイルメニューから[設定]を選択します。

右側のメニューより「リポジトリーの追加」をクリックしてください。

「参照」ボタンをクリックしてください。

展開したPatchのC:\WAS\repository.configを選択して[開く]をクリックしてください。

リポジトリ₋が追加されます。「OK」ボタンをクリックしてください。

「更新」を選択してください。

IBM WbSphere Application Server V8.5 を選択します。 選択後、「次へ」ボタンをクリックしてください。

チェックが入っているのを確認後、「次へ」ボタンをクリックしてください。

「更新」ボタンをクリックしてください。

更新が完了しました。 IBM WebSphere Application Server を起動してください。

IBMi版 WebSphere Application Server V8.5.5

IBM Fixcentralよりダウンロードしたパッチファイル 8.5.5.11-ws-wasprod-ifph42728.zip を展開してIBMi、任意のディレクトリに配置します。

例えば、以下のディレクトリを作成して暫定修正のzipを配置します。

/QIBM/WAS/WASFIXPACKS/WAS/P42728/FIXPACK/8.5.5.11-ws-wasprod-ifph42728.zip

IBMiにエミュレータで接続後(ホストコードページ 939で接続)、CHGJOBでCCSIDを5035に変更後STRQSHコマンドでQSHシェル・インタープリターを起動します。

CHGJOB CCSID(5035)
STRQSH

CDコマンドでカレントディレクトリ―をzipを配置した先に変更してください。

cd /QIBM/WAS/WASFIXPACKS/WAS/P42728/FIXPACK

umaskコマンドを実行してパーミッションを設定

umask 022

jarコマンドでzipを展開します。

jar -xvf /QIBM/WAS/WASFIXPACKS/WAS/P42728/FIXPACK/8.5.5.11-ws-wasprod-ifph42728.zip

エミュレータからコマンド実行で適用する手順

展開したファイルをInstallation Managerから読み取り暫定修正を適用します。
  ※ホストコードページ939 , JOBのCCSIDを5035に設定してください。

cd /QIBM/ProdData/InstallationManager/eclipse/tools/

imcl installのコマンドで暫定フィックスのIDを指定して適用します。

imcl install 8.5.5.11-WS-WASProd-IFPH42728 -acceptLicense -installationDirectory 
 /QIBM/ProdData/WebSphere/AppServer/V85/Express 
 -repositories /QIBM/WAS/WASFIXPACKS/WAS/P42728/FIXPACK/ -svP

IBM Web Administration for i (HTTPAdmin)から適用する手順

http://”IBMi IPアドレス”:2001/HTTPAdmin にアクセスしてユーザープロファイル、パスワードを入力してログオンします。ログオンするユーザープロファイルは 特殊権限 *ALLOBJ および *SECADM を有する管理者でログオンしてください。

ログオン後、「管理」タブ > 「インストール済み環境」タブ を選択後、更新対象の製品をラジオボタンで選択して「更新」ボタンをクリックしてください。

「暫定修正」にチェックを設定後、「追加」ボタンをクリックしてリポジトリ₋のパスを指定してください。パスを指定後、「続行」ボタンクリックで確定ができます。

インストール・ロケーションにアクセスするための認証が必要な場合は、チェックボックスを設定してユーザープロファイル、パスワードを指定します。
通常は、チェックを設定せずに「次へ」ボタンをクリックしてください。

インストールするフィックスの確認ダイアログが表示されます。
適用する暫定修正にチェックを設定後、「OK」ボタンをクリックしてください。

インストールされる暫定修正が表示されますので「完了」ボタンをクリックしてください。

更新中と表示されます。処理が完了すると暫定修正の適用は終了です。

IBM WebSphere Application Server V8.5.5.16以降、V9.0.5.0以降のカスタムプロパティについて

WebShere Application ServerのバージョンをWAS 8.5.5.16以降 、WAS9.0.5.0以降 にバージョンアップする場合には、SmartPad4iの「SP4IIPADR」や Java のrequest.getRemoteAddrメソッドで以前のバージョンのようにクライアントのIPアドレスを取得できなくなります。
  ※WebサーバーのIPアドレスが返却されます。
また、CO406JTCPサブシステム下に作成されるジョブ名も
クライアントのIPアドレスを元に決定されているため
全てのジョブ名が同じとなってしまいます。

WAS 8.5.5.16以降 、WAS9.0.5.0以降で利用される場合はWASの設定にて
HTTP トランスポート・チャネルのカスタム・プロパティーを設定頂くことで以前と同様にリモートアドレスが取得できるようになります。

https://www.ibm.com/support/knowledgecenter/ja/SSAW57_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/rrun_chain_httpcustom.html 

trustedSensitiveHeaderOrigin チャネルのカスタム・プロパティで値に”*”を入れて設定してください。

Apache Log4j (CVE-2021-44228) 問題についてのリンク

Apache Log4jのバージョン1.xについては、本影響を受けません。
JNDIを利用している場合のみ影響をうけます。

JAVA8以降を利用している場合、Apache Log4jのバージョン2.15.0以前のバージョンに問題があります。2.16.0以上にアップグレードする必要があります。

詳細な内容については、以下のリンクなどの情報をご確認ください。