🇰🇷 한글 설명
스크립트 기반 채널에서 단일 ScriptEngine 인스턴스가 모든 메시지에 재사용되는 취약점입니다. 스레드 안전을 보장하지 않는 JSR-223 엔진(예: Kotlin kts)을 사용할 경우, 동시 메시지 처리 과정에서 엔진 내부 상태가 손상되어 데이터가 유출되거나 예외가 발생할 수 있습니다.
💡 쉬운 설명
여러 사람이 동시에 같은 도구를 사용하려고 할 때, 도구 내부의 정보가 뒤섞여 다른 사람의 데이터가 노출될 수 있는 문제입니다. 특히 한 번에 하나씩만 처리할 수 있는 도구를 여러 명이 동시에 쓰려고 할 때 발생합니다.
🇺🇸 원문 (English)
A single ScriptEngine instance is reused for every message on a script-backed channel. For JSR-223 engines that report THREADING=null (not thread-safe, e.g. the Kotlin kts engine), concurrent message processing can corrupt engine-internal state, potentially leaking one message's payload/headers bindings into another message's script evaluation or throwing spurious exceptions.
Spring Integration 7.1.0
Spring Integration 7.0.0 - 7.0.5
Spring Integration 6.5.0 - 6.5.10
Spring Integration 6.4.0 - 6.4.12
Spring Integration 5.5.21 and earlier
📍 영향받는 시스템
Spring Integration 7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12, 5.5.21 및 이전 버전
⚔️ 공격 벡터
동시에 다수의 메시지를 처리하도록 유도하여 엔진 내부 상태를 오염시키고 데이터 유출을 유도함
🛡️ 대응 방법
Spring Integration을 보안 패치가 적용된 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 spring-integration의 버전을 확인하여 취약한 버전 범위에 포함되는지 체크합니다.
mvn dependency:list | grep spring-integration