본문 바로가기

Spring

[Spring] CVE-2022-22965

Spring4Shell 취약점

CVE 식별자: CVE-2022-22965

이름: Spring Core의 원격 코드 실행 취약점 (Spring4Shell)

등급: High

설명: Spring 프레임워크의 JDK9 버전 이상에서는 원격 공격자가 특정 조건을 충족하는 프레임워크의 매개변수 바인딩 기능을 통해 AccessLog Value 객체 및 악성 필드 값을 획득하여 파이프라인 메커니즘을 트리거할 수 있다.

영향받는 시스템: JDK9 이상, Spring 프레임워크 버전 5.3.17, 5.2.0, 5.2.19
(JDK8 이하에서는 취약점의 영향을 받지 않는다.)

Spring4Shell 버전 확인 방법 (IntelliJ 기준):

  1. 문제되는 클래스의 패키지 경로 확인 (프로젝트에 포함되는지 확인)

  1. Spring 프레임워크 버전 확인

문제의 대상이 되는 버전임을 확인하였다.


해결 방법:

  1. build.gradle에서 Spring Boot 안정화된 최신(Stable) 버전 업데이트
    dependency-management 안정화된 최신(Stable) 버전으로 업데이트

  1. 정상적으로 문제없는 버전으로 업데이트 되었는지 확인

  1. 테스트 코드로 정상작동 여부 검증

만약 버전을 업데이트 할 수 없는 상황이라면 참고자료 (링크)에서 스프링 버전 변경없이 보안 취약점 대응을 확인하면 된다.


참고한 자료:

CVE(Common Vulnerabilities and Exposures)란: 공개적으로 알려진 컴퓨터 보안 결함 목록이다. CVE는 보통 CVE ID 번호가 할당된 보안 결함을 의미한다.