🇰🇷 한글 설명
Spring Framework의 JMS 메시지 컨버터에서 신뢰할 수 없는 환경 시 임의 클래스 인스턴화가 가능하여 악성 역직렬화 공격에 취약합니다. 이로 인해 공격자가 시스템에서 허가되지 않은 임의 작업을 수행할 수 있습니다.
💡 쉬운 설명
Spring Framework의 메시지 처리 기능이 악의적인 데이터를 통해 시스템의 다른 부분을 제어할 수 있는 구멍이 있습니다. 공격자가 이 취약점을 이용해 시스템에 해로운 작업을 강요할 수 있습니다.
🇺🇸 원문 (English)
In an untrusted JMS environment, org.springframework.jms.support.converter.MappingJackson2MessageConverter and org.springframework.jms.support.converter.JacksonJsonMessageConverter allow arbitrary class instantiation, which can lead to unauthorized actions via gadget class deserialization.
Affected versions:
Spring Framework 7.0.0 through 7.0.7; 6.2.0 through 6.2.18; 6.1.0 through 6.1.27; 5.3.0 through 5.3.48.
📍 영향받는 시스템
Spring Framework 7.0.0-7.0.7, 6.2.0-6.2.18, 6.1.0-6.1.27, 5.3.0-5.3.48
⚔️ 공격 벡터
신뢰할 수 없는 JMS 환경에서 악성 직렬화된 페이로드를 전송하여 역직렬화 과정을 통해 임의 클래스를 인스턴스화함
🛡️ 대응 방법
Spring Framework를 최신 패치 버전으로 업그레이드하거나, 신뢰할 수 없는 JMS 환경에서 JacksonMessageConverter 사용을 제한하십시오.
🔧 검증 코드
명령어 실행 결과로 표시된 버전이 취약한 범위(예: 6.2.0 이상 6.2.18 이하)에 해당하면 패치 필요
java -cp spring-jms-*.jar org.springframework.jms.support.converter.MappingJackson2MessageConverter 2>&1 | grep -oP 'version.*' || echo 'Version check failed'