본문으로 바로가기

0. 조치 환경

  • Spring Boot 2.5.6 (Gradle Project)
  • JDK 11(Java 11)
  • IntelliJ

1. 취약점 내용

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

2. 조치 방안

  • 제조사 홈페이지를 통해 최신버전으로 업데이트 적용
    • Java 8 이상 : Log4j 2.17.1으로 업데이트
    • Java 7 : Log4j 2.12.4으로 업데이트
    • Java 6 : Log4j 2.3.2으로 업데이트
  • log4j-core-*.jar 파일 없이 log4j-api-*.jar 파일만 사용하는 경우 위 취약점의 영향을 받지 않음

3. Log4j2 버전 업데이트

  • 필자는 자바 11이므로 2.17.1로 업데이트 했습니다. 당분간은 spring-boot-starter를 이용한 버전 관리보다는 따로 관리해야 될 것 같습니다.

[Gradle]

dependencies {
	implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1'
	implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.17.1'
	implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: '2.17.1'
	implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.17.1'
	implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.32'
	implementation group: 'org.slf4j', name: 'jul-to-slf4j', version: '1.7.32'
}

 

[Maven]

<dependencies>
  <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>2.17.1</version>
  </dependency>
  <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.17.1</version>
  </dependency>
  <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-jul</artifactId>
      <version>2.17.1</version>
  </dependency>
  <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>2.17.1</version>
      <scope>test</scope>
  </dependency>
  <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.32</version>
  </dependency>
  <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jul-to-slf4j</artifactId>
      <version>1.7.32</version>
  </dependency>
</dependencies

 

[IntelliJ  log4j 버전 확인]