2021/12/16 更新
JPCERT/CCよりApache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起が更新されCVE-2021-45046について追記されました。
特定の構成において不正なJNDI検索パターンを入力値とする場合にサービス運用妨害(DoS)が生じる可能性があることが判明し、Message Lookup機能が削除され、JNDIへのアクセスがデフォルトで無効になりました。この問題にはCVE-2021-45046が採番されています
llog4j 2.15及び下記対策は不完全であり、log4j 2.16へのアップデートが推奨されています。
(1)Log4jを実行するJava仮想マシンを起動時に「log4j2.formatMsgNoLookups」というJVMフラグオプションを「true」に指定する 例: -Dlog4j2.formatMsgNoLookups=true
(2)環境変数「LOG4J_FORMAT_MSG_NO_LOOKUPS」を「true」に設定する。
JobSchedulerの回避策も更新されましたので、以下をご確認ください。
https://change.sos-berlin.com/browse/JOC-1184
https://change.sos-berlin.com/browse/JOC-1186
2021/12/14
SOS社では現在上記修正版を含んだ緊急リリース(V.1.13.10, V.2.2.0)を作成中であり、2021/12/24に公開予定です。
回避策が更新されましたので、以下をご参照ください。
https://change.sos-berlin.com/browse/JOC-1184
2021/12/16 更新
以下の対策は不完全であるため、log4j 2.16へのアップデートが推奨されています。
V.1.13系について回避策には以下の2通りの方法があります。JS7については上記リンクをご参照ください。
(1)Log4jを実行するJava仮想マシンを起動時に「log4j2.formatMsgNoLookups」というJVMフラグオプションを「true」に指定する
例: -Dlog4j2.formatMsgNoLookups=true
マスター:SCHEDULER_DATA/config/factory.iniを編集し
[java]options =に、-Dlog4j2.formatMsgNoLookups=true を追加してマスター再起動
再起動後にscheduler.logのJava options: に[-Dlog4j2.formatMsgNoLookups=true]が表示されればOK
エージェント:一旦停止し、
$ SCHEDULER_HOME/bin/agent_<port>.sh | .cmd start -java-options=-Dlog4j2.formatMsgNoLookups=true
で再起動、systemd service などで自動起動設定している場合は、ExecStart=のコマンドに-java-options=-Dlog4j2.formatMsgNoLookups=trueを追加して、サービスリスタート
JOCコックピット:
Linuxの場合/etc/default/joc、
Windowsの場合 、レジストリ
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\sos_joc\Parameters\Java
を編集し、JAVA_OPTIONS=に-Dlog4j2.formatMsgNoLookups=trueを追加して、サービス再起動
(2)Log4jライブラリを対策済みの2.16に入れ替える
- マスター
- 1.13.3
- 以下ファイルを削除:
- SCHEDULER_HOME/lib/3rd-party
- log4j-api-2.13.0.jar
- log4j-core-2.13.0.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.13.0.jar
- SCHEDULER_HOME/lib/3rd-party
- 1.13.4 to 1.13.8
- 以下ファイルを削除:
- SCHEDULER_HOME/lib/3rd-party
- log4j-api-2.13.2.jar
- log4j-core-2.13.2.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.13.2.jar
- SCHEDULER_HOME/lib/3rd-party
- 1.13.9
- 以下ファイルを削除:
- CHEDULER_HOME/lib/3rd-party
- log4j-api-2.14.0.jar
- log4j-core-2.14.0.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.14.0.jar
- CHEDULER_HOME/lib/3rd-party
- 全バージョン
- 以下ファイルをコピー:
- SCHEDULER_HOME/lib/3rd-party
- log4j-api-2.16.0.jar
- log4j-core-2.16.0.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.16.0.jar
- SCHEDULER_HOME/lib/3rd-party
- エージェント
- 1.13.3
- 以下ファイルを削除:
- SCHEDULER_HOME/lib/3rd-party
- log4j-api-2.13.0.jar
- log4j-core-2.13.0.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.13.0.jar
- SCHEDULER_HOME/lib/3rd-party
- 1.13.4 to 1.13.8
- 以下ファイルを削除:
- SCHEDULER_HOME/lib/3rd-party
- log4j-api-2.13.2.jar
- log4j-core-2.13.2.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.13.2.jar
- SCHEDULER_HOME/lib/3rd-party
- 1.13.9
- 以下ファイルを削除:
- SCHEDULER_HOME/lib/3rd-party
- log4j-api-2.14.0.jar
- log4j-core-2.14.0.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.14.0.jar
- SCHEDULER_HOME/lib/3rd-party
- 全バージョン
- 以下ファイルをコピー:
- SCHEDULER_HOME/lib/3rd-party
- log4j-api-2.16.0.jar
- log4j-core-2.16.0.jar
- SCHEDULER_HOME/lib/log/log4j
- log4j-slf4j-impl-2.16.0.jar
- SCHEDULER_HOME/lib/3rd-party
- JOCコックピット
- 1.13.3-1.13.9用のパッチが提供されています。
- JOCコックピットを停止し
- JETTY_BASE/webapps/joc.warを以下リンクからダウンロードしたものに入れ替え後、再起動
- Patch for 1.13.3: https://download.sos-berlin.com/JobScheduler.1.13/1.13.3/joc.war
- Patch for 1.13.4: https://download.sos-berlin.com/JobScheduler.1.13/1.13.4/joc.war
- Patch for 1.13.5: https://download.sos-berlin.com/JobScheduler.1.13/1.13.5/joc.war
- Patch for 1.13.6: https://download.sos-berlin.com/JobScheduler.1.13/1.13.6/joc.war
- Patch for 1.13.7: https://download.sos-berlin.com/JobScheduler.1.13/1.13.7/joc.war
- Patch for 1.13.8: https://download.sos-berlin.com/JobScheduler.1.13/1.13.8/joc.war
- Patch for 1.13.9: https://download.sos-berlin.com/JobScheduler.1.13/1.13.9/joc.war
- 1.13.3-1.13.9用のパッチが提供されています。