시행착오/오류해결

[Issue] log4j 취약점

JiWonSon 2022. 1. 17. 14:25

1. 문제원인

- 제품의 취약점이 발견된 버전은 Log4j 2.0-beta9 ~ 2.16.0 버전이다.

취약점 공격은 Log4j를 사용하는 응용 프로그램에서 layout patter과 쓰레드 컨텍스트 기능이 사용되는 경우 발생할 수 있다. 취약한 환경과 이 환경을 공격하는 기법을 알아보자.

2. 취약한 환경

- 응용프로그램이 layout pattern에서 쓰레드 컨텍스트를 조회하는 기능을 사용하도록 설정된다.

여기서, 이 layout pattern에서 참조하는 값을 외부 값으로 저장한다. 

 

3. 취약점 공격

- 공격자가 특정 문자열을 포함한 요청을 서버에 전송하는 경우, log4j에서는 로그를 저장하는 과정에 stack overflow 오류가 발생하여 프로세스가 종료될 수 있다.

 

4. 취약점 해결

- Log4j 2.17.0 이상 최신 버전으로 상향

ex) pom.xml에서 버전 올리기

<dependency>

     <groupId>org.apache.logging.log4j</groupId>

     <artifactId>log4j-api</artifactId>

     <version>2.17.0</version> </dependency>

<dependency>

     <groupId>org.apache.logging.log4j</groupId>

     <artifactId>log4j-core</artifactId>

     <version>2.17.0</version>

</dependency>

 

 

 

'시행착오 > 오류해결' 카테고리의 다른 글

[tomcat] PUT, DELETE 파싱 오류  (0) 2022.01.19
[HTTP] 상태 코드 정리  (0) 2021.01.27