If your Java app still uses Struts’ old REST mapper, upgrade before someone tests it

By George Bailey   Published: 10/07/26   Updated: 10/10/26   3 min read

Apache Struts just closed another OGNL injection path. If your Java app is still wired to the legacy RESTful action mapper, a crafted request can push an expression that may end in remote code execution. The default mapper, the restful2 mapper and the maintained REST plugin are fine. The legacy one is not, and it has been deprecated for a reason.

Legacy REST mapper still on? That is the configuration that turns this into remote code execution.

What happened

On October 5, 2026, Apache published S2-075 / CVE-2026-104711. Improper neutralization of expression-language input in the legacy RESTful action mapper lets a crafted request inject an OGNL expression. Apache rates the issue Moderate. Fixed releases are Struts 6.12.0 and Struts 7.4.0. Struts 7 is affected only when the OGNL allowlist is disabled; that allowlist is on by default.

Affected lines: 2.0.0 through 2.3.37 (EOL), 2.5.0 through 2.5.33 (EOL), 6.0.0 through 6.11.0, and 7.0.0 through 7.3.0 with the allowlist off. Credit goes to LeaveSong. No public exploitation has been reported with the advisory.

Why it matters

Struts OGNL bugs have a long history of becoming everyone’s problem once a scanner finds them. The good news is the precondition is narrow: only apps that still use the legacy RESTful action mapper are in scope. The bad news is that mapper often lives in apps nobody has touched since 2018, which is exactly where inventory fails.

What to do first

Forward this

If you own a Java app that still uses Apache Struts: a new OGNL bug (S2-075) can become remote code execution when the legacy RESTful action mapper is configured. Please confirm whether we use that mapper, and schedule the move to Struts 6.12.0 or 7.4.0. Apps on the default or restful2 mapper are not affected.

Details

Hunt / verify

Struts S2-075 (CVE-2026-104711): OGNL injection → possible RCE if the legacy RESTful action mapper is still configured. Upgrade to 6.12.0 or 7.4.0, or switch off that mapper. Default / restful2 / REST plugin apps are fine. Published Oct 5.

Sources

George Bailey

George Bailey is the byline of the CyberExperts editorial desk, the team behind the CyberExperts Daily Brief. The desk covers vulnerabilities, breaches and security news from vendor advisories, CISA alerts and other primary sources, and links those sources in every story. Questions or corrections: [email protected].