GHSA-5fhf-r6vm-6wj7
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach endpoint rendering localized date message
-
ExploitIssue many concurrent requests racing shared formatter
-
ExecutionReceive another user's value in response
-
ImpactHarvest leaked cross-user data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the target application to use localized (i18n) messages that format a date or time argument - the vendor explicitly states that applications whose localized messages format no date/time arguments are NOT affected, so this is the exact gating condition. It further requires concurrent request processing so that one request's formatter state bleeds into another's (the shared, non-isolated formatter in the application-wide text provider is the vulnerable component). Limiting factors: the outcome is non-deterministic and timing-dependent (you cannot choose which user's data leaks or when, and it may instead surface as a server error), it only applies to running versions in the listed ranges, and the leaked content is confined to values passed as date/time format arguments rather than arbitrary memory or files. |
| Impact | Signals conflict sharply. The published CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/C:H/I:H/A:H = 8.8 High) portrays this as a serious network-exploitable flaw, but the underlying defect is a non-deterministic race condition in a shared date/time formatter, and three independent factors pull the real-world risk down. First, EPSS is only 0.18% (7th percentile), indicating very low predicted exploitation likelihood. Second, there is no CISA KEV listing and no public exploit code referenced in any source. Third, the published AC:L is questionable for a 'concurrent execution with improper synchronization' (CWE-362) issue - successful exploitation depends on timing and on another user concurrently rendering a localized date/time message, which is not reliably attacker-controlled; AC:H is more defensible. The C:H/I:H/A:H impact also looks overstated: the described effect is cross-user leakage of a date/time-formatted value (confidentiality) or a transient server error (availability), with no attacker-driven data modification implied, so I:H in particular is hard to justify from the description. Net assessment: this is a legitimate but moderate issue - a real cross-tenant information-disclosure bug worth patching in a normal maintenance cycle, not an emergency. It is NOT a case of active mass exploitation; low EPSS plus absent KEV/POC suggests it is unlikely to be opportunistically weaponized. Discrepancy to verify with vendor: the 8.8 score versus a race-condition info-leak whose practical impact and attack complexity appear lower than the vector states. |
| Exploit ScenarioDerived | An authenticated or anonymous user repeatedly requests a page that renders a localized message containing a date or time argument, while the application concurrently serves other users rendering the same message. Due to the unsynchronized shared formatter in the application-wide text provider, a date/time value belonging to another in-flight request is rendered into the attacker's response, leaking that user's data; alternatively the formatter corrupts and the request fails as a server error. No public proof-of-concept exploit was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 06, 2026
A race condition in Apache Struts' application-wide localization (i18n) text provider lets a message formatter that has been cached for one request be reused by concurrently served requests, so a date or time value belonging to one user can surface in another user's rendered response, or the formatting can fail and appear as a server error. The flaw affects Struts 2.0.0 through 2.3.37, 2.5.0 through 2.5.33, 6.0.0 through 6.11.0, and 7.0.0 through 7.3.0; applications whose localized messages format no date or time arguments are explicitly not affected, which is the exact gating condition for exposure. No public exploit code or confirmed active exploitation has been identified, EPSS is low at 0.18% (7th percentile), and the outcome is timing-dependent and non-deterministic - leaking only values passed as date/time format arguments, not arbitrary memory - which is why our assessment (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L) is materially more conservative than the vendor's 8.8 score.
Earlier versions of this analysis (1)
Cross-request leakage of date and time values, along with intermittent rendering failures, affects Apache Struts deployments whose own localized message bundles format a date or time argument. The formatter retained by Struts' application-wide text provider is reused by concurrently served requests without isolation, so a value belonging to one user can appear in another user's response or the render can fail and surface as a server error; the assessed vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L) indicates no authentication is required and no user interaction, though the trigger is ordinary concurrent traffic rather than a crafted malicious request. Affected releases are 2.0.0 through 2.3.37, 2.5.0 through 2.5.33, 6.0.0 through 6.11.0, and 7.0.0 through 7.3.0; there is no confirmed active exploitation (CISA KEV) and no public exploit identified at time of analysis, and impact is bounded to low confidentiality and low availability loss per the independent assessment.
RemediationAI
Vendor-released patch: upgrade to Apache Struts 6.12.0 or 7.4.0, both of which fix the issue; the 2.x lines (2.3.37 and earlier) have no patched release in the advisory, so any 2.x deployment must migrate to 6.12.0 or 7.4.0, which is a breaking upgrade requiring compatibility testing against OGNL and interceptor behavior. Deployments that cannot patch immediately can reduce exposure at the application level by removing or pre-formatting date and time arguments in localized message bundles - pass the already-formatted string into the message instead of leaving the formatter to render a date/time argument - which eliminates the shared-mutable-formatter path entirely but requires editing every affected properties file and re-testing locale coverage; note the vendor states this condition is what makes an application affected, so it is a genuine workaround rather than a generic hardening step. As a stopgap with a real throughput cost, serialize request handling for the affected message-rendering endpoints (single-threaded execution or an application-wide lock around localized rendering) so that concurrent requests cannot interleave on the cached formatter, accepting substantial latency degradation under load. Do not rely on network-layer controls: the flaw is triggered through normal application traffic, and the outcome is non-deterministic, so WAF signatures cannot reliably detect it. Confirm remediation by verifying the deployed Struts artifact version rather than trusting the servlet context banner, and monitor server-error rates as an indirect indicator of the availability side of this bug. References: S2-078 (https://cwiki.apache.org/confluence/display/WW/S2-078), Apache Struts security page (https://struts.apache.org/), oss-security advisory (https://seclists.org/oss-sec/2026/q4/52).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-362, concurrent execution using a shared resource with improper synchronization. Apache Struts resolves localized messages through an application-wide text provider that caches the parsed message formatter (the java.text.MessageFormat-style object) keyed by message and locale; that cached formatter instance is not thread-safe and carries mutable internal state while it renders a localized message. When two requests are handled concurrently and both messages contain date or time format arguments, the second request can observe or overwrite the first request's formatting state, producing cross-user output contamination in the rendered message or a formatting exception that bubbles up as a 5xx response. The vulnerable surface is therefore limited to the message-rendering path (i18n resource bundles with date/time arguments) rather than request parsing, OGNL evaluation, or file handling. Per our independent assessment the attack is network-reachable with no privileges and no user interaction, but requires high complexity (AC:H) because successful exploitation depends on precise concurrent timing and on the target application actually using localized date/time-formatted messages; confidentiality and availability impacts are limited (C:L/A:L) and there is no integrity impact, since the attacker influences which timing window is hit rather than the content of the leaked value. The vendor's published vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) treats the same defect as low-complexity, authenticated, and high-impact across all three metrics, which is not supported by the stated gating conditions and non-deterministic outcome.
Know when Struts gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Race condition needs attacker-uncontrolled concurrent timing so AC:H; typically reachable on public pages so PR:N; leak limited to date/time-formatted values (C:L); no attacker data modification (I:N); only transient server errors (A:L).
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
2Description PRE-NVD
Articles & Coverage 1
Executive ViewAI
Organizations running affected Apache Struts versions with localized date/time message formatting face potential cross-user disclosure of date or time values and intermittent application errors. The exposure is confined to a specific configuration and is non-deterministic, with no public exploit identified at time of analysis. Leadership should prioritize verifying exposure, because affected customer-facing or internal applications could experience privacy and availability incidents even without confirmed exploitation.
No vendor-released patch identified at time of analysis; interim mitigations include confirming whether localized messages format date/time arguments, removing or pre-formatting those arguments, isolating or rate-limiting affected endpoints, and monitoring for cross-user data leakage and formatting-related server errors.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
Apache Struts 2.3.19 to 2.3.20.2, 2.3.21 to 2.3.24.1, and 2.3.25 to 2.3.28, when Dynamic Method Invocation is enabled, a
Apache Struts 2.0.0 through 2.3.15 allows remote attackers to execute arbitrary OGNL expressions via a parameter with a
The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception ha
The REST Plugin in Apache Struts 2.1.1 through 2.3.x before 2.3.34 and 2.5.x before 2.5.13 uses an XStreamHandler with a
Apache Struts 2 before 2.3.14.2 allows remote attackers to execute arbitrary OGNL code via a crafted request that is not
Apache Struts 2.3.19 to 2.3.20.2, 2.3.21 to 2.3.24.1, and 2.3.25 to 2.3.28, when Dynamic Method Invocation is enabled, a
Apache Commons BeanUtils, as distributed in lib/commons-beanutils-1.8.0.jar in Apache Struts 1.x through 1.3.10 and in o
ParametersInterceptor in Apache Struts before 2.3.20 does not properly restrict access to the getClass method, which all
In Apache Struts 2.0.0 through 2.3.33 and 2.5 through 2.5.10.1, using an unintentional expression in a Freemarker tag in
Apache Struts 2 before 2.3.14.2 allows remote attackers to execute arbitrary OGNL code via a crafted request that is not
The DebuggingInterceptor component in Apache Struts before 2.3.1.1, when developer mode is used, allows remote attackers
Apache Struts Showcase App 2.0.0 through 2.3.13, as used in Struts 2 before 2.3.14.3, allows remote attackers to execute
EUVD-2026-92625
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB