이 글을 보는 분들이라면 다들 알겠지만 Log4J2 라이브러리에 취약점이 보고되었다.
참고: CVE-2021-44228
스프링부트는 기본적으로 기본 로그 시스템을 Log4J2로 변경했을때만 해당이 된다고 한다.
취약점에 대한 뉴스를 접하자마자 github의 pom.xml부터 확인했었고,
해당사항이 없는 걸 보고 안심한채 주말내내 불구경하는 마음으로 구경했었는데...
출근 후 확인해보니 디펜던시 걸린 다른 라이브러리에서 Log4J2를 사용하고 있었다.
./mvnw dependency:list | select-string -pattern log4j
나에게 사용하고 있는 라이브러리의 업데이트를 기다릴 시간따윈 없다.
강제로 버전을 올리는 방법을 알아보자
1. Maven 사용시
<properties>
<log4j2.version>2.15.0</log4j2.version>
</properties>
pom.xml의 properties를 설정하여 강제로 버전을 올려주면 된다.
2. Gradle 사용시
ext['log4j2.version'] = '2.15.0'
대부분은 log4j2.version을 설정하는 것으로 충분하다고 한다.
3. 버전 업데이트가 불가능할 경우
log4j2.formatMsgNoLookups=true
log4j2.properties에 위와 같은 옵션을 추가해도 된다고 한다.
java -Dlog4j2.formatMsgNoLookups=true -jar myapp.jar
혹은 프로젝트 실행시 위와 같은 옵션으로 실행하면 된다.
결과
빌드 후 확인해보니 Log4J2가 정상적으로 업데이트 된 모습을 볼 수 있다.
출처
https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot
'개발 > Backend' 카테고리의 다른 글
[Kotlin/SpringBoot] jjwt 0.12.x으로 JWT 토큰 발행하기 (0) | 2023.12.04 |
---|---|
[Spring Boot] 인터셉터 인증 처리 제외 어노테이션 만들기 (0) | 2021.07.15 |
[Spring Boot] 작업 비동기로 실행하기 (2) | 2021.07.13 |
[Spring Boot] html 템플릿 메일 보내기 - Thymeleaf (0) | 2021.07.13 |
Access-Control-Allow-Origin을 넣어도 POST에서 CORS 에러가 발생할때 (0) | 2020.07.09 |