on
Apache Log4j2 취약점 이슈! 내장된 Log4j2 라이브러리 버전 변경하기...
Apache Log4j2 취약점 이슈! 내장된 Log4j2 라이브러리 버전 변경하기...
지난주 주말에 log4j2 취약점 이슈가 있었다.
다행히 우리 프로젝트에선 문제가 있는 log4j2-core를 사용하고 있지 않았지만 log4j2-api, log4j-to-slf4j와 같은 라이브러리도 최신화 하고자 했다!
spring boot 라이브러리에 내장된 log4j2를 사용 중이였는데 spring boot의 버전을 가장 최신인 2.6.1로 올렸지만
해당 라이브러리에 내장된 log4j2는 2.14.1이 였다.. 그래서 내장된 라이브러리의 버전을 변경하여 해결하였다.
방법 1
gradle
// 종속성 관리 플러그인을 사용중이라면 ext['log4j2.version'] = '2.16.0' //종속성 관리 플러그인이 아닌 gradle 플랫폼을 사용하는 경우 implementation(platform("org.apache.logging.log4j:log4j-bom:2.16.0"))
gradle은 종속성 관리 플러그인과 gradle 플랫폼의 사용 여부에 따라 적용하는 방법이 다르다고 한다!
maven
2.16.0
방법 2
2.16.0인 log4j-api, log4j-to-slf4j를 선언해주면 spring boot에 내장된 log4j의 라이브러리 버전이 변경된다.
gradle
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.16.0' implementation group: 'org.apache.logging.log4j', name: 'log4j-to-slf4j', version: '2.16.0'
maven
org.apache.logging.log4j log4j-api 2.16.0 org.apache.logging.log4j log4j-to-slf4j 2.16.0
우린 방법 1로 설정했다. 처음엔 방법 2로 했지만 한번에 처리할 수 있는 방법 1을 발견하여!
spring boot의 버전이 빨리 업데이트 되길..
log4j2가 아니더라도 내장된 라이브러리의 버전을 변경할 일이 생기면 위 방법대로 하면 된다.
결과
from http://ynzu-dev.tistory.com/31 by ccl(A) rewrite - 2021-12-16 19:27:21