본문으로 건너뛰기

Spring Java 프레임워크 보안 업데이트 권고(2022/04/11)

안녕하세요, 카페24 호스팅센터입니다.

현재 Spring 프레임워크 및 Spring Cloud Function 관련 원격코드 실행 취약점이 확인되어 안내드립니다.


1. 취약점 상세 내용

취약점 정보

  • 취약점 번호: CVE-2022-22965, CVE-2022-22963
  • 취약점 유형: 원격코드 실행
  • 영향받는 제품: Spring 프레임워크, Spring Cloud Function
  • 심각도: 높음

취약점 설명

  1. CVE-2022-22965(Spring4Shell): Spring Core에서 발생하는 원격코드실행 취약점
  2. CVE-2022-22963: Spring Cloud Function에서 발생하는 원격코드실행 취약점

영향받는 소프트웨어

  • CVE-2022-22965(Spring4Shell):

    • JDK 9 이상의 Spring 프레임워크 사용하는 경우
    • Spring Framework 5.3.0 ~ 5.3.17, 5.2.0 ~ 5.2.19 및 이전 버전
    • 주의: JDK 8 이하의 경우 취약점의 영향을 받지 않음
  • CVE-2022-22963:

    • Spring Cloud Function 3.1.6 ~ 3.2.2 버전
    • 주의: 취약점이 해결된 버전 제외(3.1.7, 3.2.3 업데이트 버전 제외)

2. 보안 조치 권고사항

해결 방안

  • Spring Framework: 5.3.18, 5.2.20 버전으로 업데이트
  • Spring Cloud Function: 3.1.7, 3.2.3 버전으로 업데이트

Spring4Shell 버전 확인 방법

  1. JDK 버전 확인: java -version 명령 입력
  2. Spring 프레임워크 사용 유무 확인:
    • 프로젝트가 jar, war 패키지로 돼 있는 경우 zip 확장자로 변경하여 압축풀기
    • 이후 spring-beans-.jar, spring.jar, CachedIntrospectionResuLts.class로 검색
    • find . -name spring-beans*.jar 명령 사용

신규 업데이트가 불가능할 경우 대응방안

  • CVE-2022-22965(Spring4Shell):
    • 프로젝트 패키지 아래 해당 전역 클래스 생성 후 재컴파일(테스트 필요)
    • 코드 예시:
      import org.springwork.core.Ordered;
      import org.springwork.core.annotation.Order;
      import org.springwork.web.bind.WebDataBinder;
      import org.springwork.web.bind.annotation.ControllerAdvice;
      import org.springwork.web.bind.annotation.InitBinder;
      
      @ControllerAdvice
      @Order(10000)
      public class BinderControllerAdvice {
          @InitBinder
          public setAllowedFields(WebDataBinder dataBinder) {
              // 구현 내용
          }
      }
      

즉시 조치사항

  • 영향받는 Spring 버전을 사용 중인 경우, 즉시 권장 버전으로 업그레이드하시기 바랍니다.
  • 공격자가 해당 취약점을 악용하여 피해를 발생시킬 수 있으므로, 지연 없이 보안 업데이트를 적용하시기 바랍니다.

3. 참고사항

문의처

참고사이트


더 나은 서비스를 제공하기 위해 항상 노력하겠습니다.

감사합니다.