ZeroHour

CVE-2026-59324

niche

Race Condition in Spring Integration Swaps Reply Headers on Concurrent Requests

CVSS 3.1
8.2 high
EPSS
<1%p15
Published
()
Modified
AI analysis

Spring Integration contains a race condition (CWE-362) in its reactive messaging support: when an IntegrationFlow uses .fluxTransform() with an asynchronous or reordering fluxFunction that emits raw payloads, per-message reply headers (replyChannel, errorChannel, correlationId, and propagated security/tenant headers) are not kept isolated. Under concurrent requests sharing the same FluxMessageChannel subscription, headers are copied from whichever message was most recently consumed upstream, so replies and security context can be attached to the wrong request. An attacker can therefore receive another user's response or have another session's or tenant's security headers applied to their exchange, producing cross-request and potentially cross-tenant information disclosure (high confidentiality, low integrity impact per the 8.2 CVSS score). Any application built on the affected Spring Integration versions (7.1.0, 7.0.0-7.0.5, 6.5.0-6.5.10, 6.4.0-6.4.12, or 5.5.21 and earlier) that uses this reactive pattern under concurrent load is affected. No public proof-of-concept is known, the flaw is not in CISA's KEV, and EPSS estimates only a 0.2% probability of exploitation in the next 30 days.

What to do: Upgrade each deployed branch to a release beyond the affected ranges (later than 7.1.0, 7.0.5, 6.5.10, and 6.4.12; 5.5.x users should apply the latest 5.5 patch or migrate to a supported branch). Until patched, audit IntegrationFlows for .fluxTransform() with asynchronous or reordering fluxFunctions that emit raw payloads, and either avoid that pattern, prevent concurrent requests from sharing a single FluxMessageChannel subscription, or explicitly re-stamp replyChannel/errorChannel/correlationId and security/tenant headers per message. Also review whether cross-tenant or cross-session header leakage could have exposed sensitive data in past traffic.

Affected
VMware Spring Integration7.1.0
VMware Spring Integration7.0.0 - 7.0.5
VMware Spring Integration6.5.0 - 6.5.10
VMware Spring Integration6.4.0 - 6.4.12
VMware Spring Integration5.5.21 and earlier
Estimated exposure
nichelikely thousands of applications at most (only the subset of Spring Integration deployments using the reactive fluxTransform path under concurrent load) — No install telemetry exists for this embedded Java library; Spring Integration is widely used in Spring Boot and enterprise Java applications, but exposure requires the specific .fluxTransform() configuration with an async/reordering…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

When an IntegrationFlow uses .fluxTransform() with an asynchronous/reordering fluxFunction that emits raw payloads, concurrent requests on the same FluxMessageChannel subscription have their reply headers (replyChannel, errorChannel, correlationId, any propagated security/tenant headers) copied from whichever message was most recently consumed upstream. 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

Vendors
vmware
Products
spring integration
Weakness
CWE-362
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N

In the news

No ingested article mentions this CVE yet.