2023.01.28
01.개요
02.공격
03.대응방안
01.개요
Spring?
- JAVA의 웹 프레임워크.
JAVA로 다양한 어플리케이션을 만들기 위한 프로그래밍 툴.
Spring을 통해 다른 사람의 코드를 조금 더 쉽게 참조하고 , 편리한 구조를 만들어 JAVA의 인기에 큰 역할.
Spring4shell?
- 이전에도 classLoader에 매개변수를 조작하는 취약점들이 있었는데, Spring Core 프레임워크 취약점 POC가 공개되어 주목받게되었고, 해당 취약점은 Spring4Shell, SpringShell로 명명 되었다.
02.공격
CVE-2022-22965
- Spring4Shell 취약점은 Spring Core 프레임워크에서 특정 조건 하에 Remote Code Execution이 가능한 취약점.
매개변수를 바인딩 하는 과정에서 class 객체가 노출되어 발생.
class 객체의 child인 class.module.classLoader에 웹 매개변수를 통해 접근가능하며 AccessLogValve를 이용하여 웹 쉘 등 악성코드를 업로드 후 명령어 실행.
03.대응방안
- KISA 권고 사항은 JDK 9이상의 프레임워크를 사용하는 경우 패치를 권고.
- 시스템적인 여건으로 패치가 불가능한경우 IDS, IPS에 관련 룰을 추가하여 대응.
참고 사이트*
https://velog.io/@thelm3716/spring4shell-CVE-2022-22965
https://github.com/lunasec-io/lunasec/blob/master/docs/blog/2022-03-30-spring-core-rce.mdx#who-is-impacted