spring4Shell
Spring4Shell은 Spring Core 프레임워크에서 발견된 새로운 제로데이 취약점이다.
해당 취약점 이슈는 애플리케이션에서 인증되지 않은 원격 코드 실행(Remote Code Execution, RCE)을 허용하는 것으로 나타났다.
3월 29일 CVE-2022-22963으로 추적된 새로운 Spring Cloud Function 취약성이 공개 되었다.
그러나 더 중요한 Spring Core RCE 취약성에 대한 정보가 중국 사이트에 유포되었다.
발생의 원인은 안전하지 않은 역직렬화
에 의해 발생한다고 한다.
해당 이슈에 대해 잘 정리된 포스팅을 첨부한다
취약점 이슈 내용
22년 3월 29일, CVE-2022-22963
- Spring Cloud Function 3.1.6, 3.2.2 그 이하 버전에서 라우팅 기능을 사용할 떄 사용자는
SpEL
을 라우팅 표현식으로 제공하여 원격 코드를 실행하고 로컬 리소스에 액세스할 수 있음이 확인되었다. - 조치 방법 :
- migration
- 3.1.7
- 3.2.3
- 3.1.7
- migration
- 관련 레퍼런스
22년 3월 31일, CVE-2022-22965
- JDK 9+ 에서 실행되는 Spring MVC 또는 Spring WebFlux 애플리케이션은 데이터 바인딩을 통한 원격 코드 실행(RCE)에 취약할 수 있다.
- 특정 취약점을 이용하려면 Tomcat에서 WAR 배포로 실행해야 한다.
Jar
배포의 경우 취약점에 해당하지 않지만 취약점의 특성은 보다 일반적이며 이를 악용하는 다른 방법이 있을 수 있다.- 취약점 대상
- JDK 9 +
- Apache Tomcat as the Servlet Container
- Packaged as WAR
- spring-webmvc or spring-webflux dependency
- 취약점 내용
대상 버전
- Spring Framework
- 5.3.0 ~ 5.3.17
- 5.2.0 ~ 5.2.19
- 그 이하 버전
- 5.3.0 ~ 5.3.17
- 마이그레이션
- 5.3.x => 5.3.18 이상으로 업그레이드 권고
- 5.2.x => 5.2.20 이상으로 업그레이드 권고
- 관련 레퍼런스
'java > spring' 카테고리의 다른 글
[security] 스프링 시큐리티 기능 정리 (0) | 2022.04.14 |
---|---|
Spring Scheduler (0) | 2022.03.18 |