🇰🇷 한글 설명
Spring Statemachine의 Kryo 기반 영속성 백엔드(JPA, MongoDB, Redis, ZooKeeper)에서 클래스 허용 목록을 적용하지 않은 채 상태 머신 컨텍스트를 역직렬화하는 취약점이 발견되었습니다. 이로 인해 신뢰할 수 없는 데이터가 역직렬화될 경우 애플리케이션 JVM 내에서 원격 코드 실행(RCE)이 발생할 수 있습니다.
💡 쉬운 설명
프로그램이 저장된 데이터를 다시 읽어오는 과정에서 검증되지 않은 악성 코드가 포함될 수 있는 보안 구멍이 있습니다. 해커가 이 구멍을 이용해 서버에 원격으로 명령을 내려 시스템을 장악할 수 있습니다.
🇺🇸 원문 (English)
Spring Statemachine's Kryo-based persistence backends (JPA, MongoDB, Redis and ZooKeeper) deserialise persisted state-machine contexts without enforcing a class allowlist (CWE-502, deserialisation of untrusted data), which can lead to remote code execution inside the application JVM.
Affected versions:
Spring Statemachine 4.0.0 through 4.0.1
Spring Statemachine 3.2.0 through 3.2.4
📍 영향받는 시스템
Spring Statemachine 4.0.0-4.0.1, 3.2.0-3.2.4
⚔️ 공격 벡터
조작된 Kryo 직렬화 데이터를 영속성 저장소(JPA, MongoDB, Redis, ZooKeeper)에 주입하여 역직렬화 유도
🛡️ 대응 방법
Spring Statemachine을 취약점이 해결된 최신 버전으로 업데이트하거나 Kryo 기반 백엔드 사용 시 클래스 허용 목록을 설정하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위의 spring-statemachine 라이브러리가 나타나면 해당 시스템은 취약합니다.
mvn dependency:list | grep -E 'spring-statemachine-(4\.0\.[01]|3\.2\.[0-4])'
🇰🇷 KISA(한국인터넷진흥원) 보안 권고
이 CVE에 대한 한국 공식 권고 (1건)
Spring 제품 보안 업데이트 권고
P4
📅 2026-07-02 · sec_notice
Spring Statemachine 제품에서 신뢰할 수 없는 데이터의 역직렬화(Deserialization)로 인한 취약점이 발견되었습니다. 해당 제품을 사용하는 사용자는 원격 코드 실행 등의 위험을 방지하기 위해 최신 버전으로 업데이트해야 합니다.