Apache Struts is a widely used enterprise web framework; this RCE can lead to full app compromise and data breaches, similar to prior high-impact Struts incidents.
CVE-2026-104711
Apache Struts OGNL expression injection allowing remote code execution via legacy RESTful mapper
Is CVE-2026-104711 being exploited?
Not confirmed. CVE-2026-104711 does not appear in CISA's Known Exploited Vulnerabilities catalog, which records only exploitation that has been observed and reported publicly. That is evidence of absence of a report, not evidence the flaw is unattacked. EPSS currently estimates a 0.86% probability of exploitation in the next 30 days.
How severe is CVE-2026-104711?
CVE-2026-104711 is rated Critical with a CVSS score of 9.8. Severity describes how bad exploitation would be, not how likely it is: pair it with exploitation evidence before deciding what to patch first.
Is there a patch for CVE-2026-104711?
Yes. A fix has been recorded for CVE-2026-104711. The vendor advisory is the authority on the exact fixed version — apply it from there rather than from a summary.
What does CVE-2026-104711 affect?
CVE-2026-104711 affects Apache Struts 2.0.0–2.3.37, Apache Struts 2.5.0–2.5.33, Apache Struts 6.0.0–6.11.0, Apache Struts 7.0.0–7.3.0 (7 affected only if OGNL allowlist disabled). Confirm the exact affected versions against the vendor advisory before deciding you are exposed.
What should I do about CVE-2026-104711?
Upgrade to Struts 6.12.0 or 7.4.0; enable OGNL allowlist or disable legacy RESTful mapper
Exploitation status reflects CISA's KEV catalog as we last synced it. Check the catalog directly.
Remote code execution via OGNL injection in legacy RESTful action mapper; attacker can run arbitrary code as the app process.
Patch when possible
- affected>= 2.0.0 and <= 2.3.37
- affected>= 2.5.0 and <= 2.5.33
- affected>= 6.0.0 and <= 6.11.0
- affected>= 7.0.0 and <= 7.3.0
As published in the CVE Program record. A version outside these ranges is not a statement that it is unaffected — vendors sometimes understate a range, and distribution-backported builds carry upstream numbers that do not reflect what was patched into them.