5
5

More than 1 year has passed since last update.

SpringBoot + gradle で log4j を 2.15.0-rc2 にする

Last updated at Posted at 2021-12-10

TL;DR

  • あえて spring-boot-starter-log4j2 を入れてなければ Logback なので関係ありません
  • 入れてるなら build.gradle の ext に以下を書き足してください
ext
{
  set('log4j2.version', '2.17.0')
}
  • 気づいた?そう 2.17.0 になってるんです。すでに 2.15.0 にした人も 2.17.0 にする必要があるそうなので、皆さん 2.17.0 にしましょう。

Maven 使ってる人へ

この記事は gradle 使ってる人向けなので Maven 向けの情報は記載してないです

自分が対象なのかを調べる

プロジェクトのルートで下記のコマンドを実行してみてください

$ gradle dependencies | grep log4j

org.apache.logging.log4j:log4j-core:2.13.3 とか 2.15.0 よりも下のバージョンが出てきてしまったあなたは対象です。TL;DR を読んで build.gradle に加筆してください。

加筆し終わった後に再確認して、org.apache.logging.log4j:log4j-core:2.13.3 -> 2.15.0 とかになってれば大丈夫です。

rc2 どこ行った?

Maven Central Repository から引いているなら 2.15.0 はもう rc2 になっています。
確証が欲しければ pom をみて tag をページ内検索してください。

むしろ、2.15.0-rc2 とか書いても、そんなものは存在しません

うちエンタープライズだし外部アクセスは全部API経由なんだけど、そんなヤバいんですか?

やばいです。踏み台とか関係ないです。log が出る不正リクエストで任意コードが実行されます。情報抜き取りまでいかないまでも破壊はそう難しくないです。

会社で伝わりやすそうな数値基準でヤバさを伝えるなら Red Hat のサイトの CVE-2021-44228 をみてください。10.0 Max のスコアで 9.8 です。

Spring の対応待ちじゃダメなの?

次回のリリースまで対応はなさそうです。

log4j2.formatMsgNoLookups じゃだめなの?

そのオプションは 2.10 以降に追加されたものなので、それより前のバージョンだと効きません。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5