0. 조치 환경
- Spring Boot 2.5.6 (Gradle Project)
- JDK 11(Java 11)
- IntelliJ
[Logback 업데이트 전 파일 버전]
1. 취약점 내용
- Logback 1.2.9 이전 버전에서 발생하는 원격코드 실행 취약점(CVE-2021-42550)
- 원격코드 실행 취약점에는 조건이 충족되어야 합니다.
- 공격자는 사전에 로그 백 설정 파일(logback.xml)에 접근 및 쓰기 권한이 있어야 함
- 공격자가 변조한 설정 파일(logback.xml)이 시스템에 적용되어야 함(변조된 설정 파일 배치 후 시스템 재기동 or Scan="true"로 설정 필요)
- 1.2.9 이전 버전 사용
- https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36396
2. 조치 방안
- 버전 업데이트(1.2.9)
- 1.2.9 버전 이상은 아직 알파버전입니다.
3. Logback 버전 업데이트
- Logback 외에도 추가적으로 관련 의존성에도 취약점이 있는 버전이 있으므로 같이 버전을 올려줍니다.
- 스프링 부트 버전에 맞춰 기존 버전이 적용되어있더라도 높은 버전으로 적용 시 교체됩니다.
- Apache Log4j API 2.13.3 버전에 취약점이 존재하므로 2.16.0으로 올려줍니다.
- Apache Log4j to SLF4J Adapter 2.13.3 에는 취약점이 존재하지 않다고 혹시 모르니 하지만 2.16.0으로 올려줍니다.
[Gradle]
dependencies {
implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.2.9'
implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.9'
implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.32'
implementation group: 'org.slf4j', name: 'jul-to-slf4j', version: '1.7.32'
implementation group: 'org.apache.logging.log4j', name: 'log4j-to-slf4j', version: '2.16.0'
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.16.0'
}
[Maven]
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.9</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>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>2.16.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.16.0</version>
</dependency>
</dependencies>
'Backend > Spring' 카테고리의 다른 글
[Spring Boot] 스프링 부트 Log4J2 취약점 조치 (CVE-2021-44832) (0) | 2021.12.29 |
---|---|
[Spring Boot] 스프링 부트 Log4J2 취약점 조치 (CVE-2021-45105) (0) | 2021.12.18 |
[Spring Boot] 스프링 부트 Log4J2 추가 취약점 조치 (CVE-2021-45046) (0) | 2021.12.15 |
[Spring Boot] 스프링 부트 Log4J2 취약점 조치 (Log4J2 버전 업데이트) (3) | 2021.12.13 |
[Spring Boot] Filter 를 이용하여 Request Body 핸들링 (HttpServletRequestWrapper) (0) | 2021.12.09 |