CVE-2026-59321: Shared JSR-223 ScriptEngine evaluated concurrently without THREADING check
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
Affected Software
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Deployments using a script-backed channel with a JSR-223 ScriptEngine that reports THREADING=null are exposed. The Kotlin kts engine is identified as an example of such an engine, and exposure requires concurrent message processing.
What access does an attacker need to exploit the issue?
The supplied vector indicates network access, high attack complexity, low privileges, and no user interaction. Exploitation depends on causing concurrent processing of messages through the affected script-backed channel.
What can happen if the race condition is triggered?
Engine-internal state can be corrupted, which may cause payload or header bindings from one message to be used during another message's script evaluation. It can also produce spurious exceptions.
Which Spring Integration versions are affected?
Affected versions are 7.1.0; 7.0.0 through 7.0.5; 6.5.0 through 6.5.10; 6.4.0 through 6.4.12; and 5.5.21 and earlier.