CASE STUDY
고객사별 OpenMSA™ 도입 사례와 결과를 확인해보세요.

OSC Tech News

다양한 소식을 전합니다.
OSC Korea 월간 뉴스레터 받아보기 💌

OSC Korea의 Ellen이 매월 넷째주 화요일 전해드리는 IT 소식!

IT 관련 종사자가 궁금해하는, 알아야하는 정보들을 담았어요.
Opensource, DevOps, Cloud, MSA 그리고 IT 트렌드까지!
한 달에 한 번만 메일함으로 찾아갈게요😊
OSC 월간 뉴스레터 받아보기💌

개인정보 수집 및 이용

뉴스레터 발송을 위한 최소한의 개인정보를 수집하고 이용합니다. 수집된 정보는 발송 외 다른 목적으로 이용되지 않으며, 서비스가 종료되거나 구독을 해지할 경우 즉시 파기됩니다.

Blog

Spring4shell (Springshell) 취약점 발견

2022.04.25 Spring4shell (Springshell) 취약점 발견
원문보기

Java에서 가장 많이 사용되는 프레임워크 중 하나인 Spring Framework, 수 년에 걸친 Spring의 보고서에 따르면 Java 프레임워크의 개발자 인기도는 상위 3위에 올랐으며 커뮤니티에서 Spring을 수용하는 정도는 Log4j 와 비슷합니다. 이는 잠재적으로 영향을 받을 수 있는 배포가 많이 이뤄졌다는 것으로도 해석할 수 있습니다.

Spring4shell은 3월 30일 발표된 Spring Framework의 세 가지 취약점 중 하나입니다. 중국의 한 보안 전문가가 올린 Spring Core 프레임워크 취약점 POC 화면이 발단이 되어 여러 POC가 웹 상에 올라왔습니다. 해당 취약점은 "Spring4Shell" 또는 "SpringShell"로 불리며 2022년 03월 31일 Spring 개발자에 의해 'CVE-2022-22965' 취약점으로 추가되었습니다.

Check Point의 원격 측정 데이터 기반 보고서에 따르면, 취약점이 발견된 뒤 Spring4shell 취약점을 이용하려는 시도는 약 37,000번 이뤄졌고, 취약점이 발생한 후 첫 4일 동안 전 세계 조직의 16%가 악용 시도의 영향을 받았습니다.

발병 이후 취약점 할당 시도 (출처 - Check Point 원격 측정 데이터 기반 보고서)

지역별 영향을 받는 조직 비율 (출처 - Check Point 원격 측정 데이터 기반 보고서)

취약 조건

  • Java 9 이상
  • Apache Tomcat 서버
  • Spring Framework 버전 5.3.0 ~ 5.3.17, 5.2.0 ~ 5.2.19 및 이전 버전
  • spring-webmvc 또는 spring-webflux 종속성
  • WAR 형태로 패키징

 

Spring4shell과 비교되고 있는 Log4j에 비해서는 취약 조건이 까다로운 편이긴 하지만, 취약점 공격 방법이 매우 쉽기 때문에 주의해야 합니다. 현재까지 발견된 Spring Framework의 취약점은 아래 3가지입니다.

  1. Spring Core RCE(중요): CVE-2022-22965 또는 Spring4Shell 또는 SpringShell
        영향을 받는 라이브러리:org.springframework:spring-bean
  2. Spring Cloud Function의 정보 노출: CVE-2022-22963
        영향을 받는 라이브러리:org.springframework.cloud:spring-cloud-function-context
  3. Spring 표현식의 서비스 거부: CVE-2022-22950
        영향을 받는 라이브러리:org.springframework:spring-expression

 

Spring4shell의 CVSS 점수는 9.8 입니다. Spring4shell은 원격 코드 실행에 애플리케이션을 노출하기 때문에 공격자는 연결되어 있는 데이터베이스를 포함해 모든 웹사이트 내부 데이터에 액세스할 수 있습니다. 또, 공격자가 내부 리소스에 액세스하여 더 많은 권한을 얻을 수 있습니다.

Spring4shell 취약점 해결 방법

Spring은 해당 취약점을 해결하기 위한 방법들을 제안하고 있습니다.

취약점을 해결하기 위한 기본 응답은 Spring Framework 5.3.18 및 5.2.20 이상으로 업데이트하는 것입니다. 이 작업을 수행한 이후에는 다른 해결방법이 필요하진 않으나, 다양한 이유로 업그레이드가 신속히 시행될 수 없다면 Apache Tomcat 10.0.20 , 9.0.62 또는 8.5.78 로 업그레이드, JAVA 8로 다운그레이드 등을 할 수 있습니다.

출처

(1) https://dzone.com/articles/java-survey-results-part-ii-web-frameworks

(2) https://velog.io/@thelm3716/spring4shell-%EB%B6%84%EC%84%9D-%EA%B8%80-%EC%A0%95%EB%A6%AC-CVE-2022-22965

(3) https://www.dynatrace.com/news/blog/what-is-spring4shell-vulnerabilities-in-the-java-spring-framework/?utm_source=google&utm_medium=cpc&utm_term=spring4shell&utm_campaign=kr-appsec-application-security&utm_content=none&gclid=CjwKCAjw6dmSBhBkEiwA_W-EoIVbHJNSxdQTUNwfKXkYRBKhXQNMb_xcBXaqgu1y2rBGLrOgUy_gYhoCnnwQAvD_BwE&gclsrc=aw.ds

(4) https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement

(5) https://www.dynatrace.com/news/blog/what-is-spring4shell-vulnerabilities-in-the-java-spring-framework/?utm_source=google&utm_medium=cpc&utm_term=spring4shell&utm_campaign=kr-appsec-application-security&utm_content=none&gclid=CjwKCAjw6dmSBhBkEiwA_W-EoIVbHJNSxdQTUNwfKXkYRBKhXQNMb_xcBXaqgu1y2rBGLrOgUy_gYhoCnnwQAvD_BwE&gclsrc=aw.ds

(6) https://blog.checkpoint.com/2022/04/05/16-of-organizations-worldwide-impacted-by-spring4shell-zero-day-vulnerability-exploitation-attempts-since-outbreak/\

BENEFITS
2022.04.25 Spring4shell (Springshell) 취약점 발견

Latest posts