NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
☕ Maven
Not in CISA KEV

CVE-2013-2135 — struts2-core

Fix: apache/struts@01e6b25

CVE-2013-2135 is a Code Injection vulnerability in org.apache.struts:struts2-core. EPSS puts its 30-day exploitation probability at 13.8% (97th percentile). A fix is available for org.apache.struts:struts2-core — see the affected versions and patch details below.

Arbitrary code execution in Apache Struts 2

Published
Updated
Affected
2 pkgs
Patched
2 / 2
Exploits
None indexed
Exploitation data as of Nov 4, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
13.8%probability of exploitation in next 30 days
Moderate Risk0.00%
Lower risk than most CVEs97th percentile — riskier than 97% of all scored CVEsHighest risk
0.00%33.3%66.7%100.0%83.0%13.8%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

Real-World Exposure

2 pkgs affected
☕org.apache.struts:struts2-core☕org.apache.struts.xwork:xwork-core

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.

Description

Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both "${}" and "%{}" sequences, which causes the OGNL code to be evaluated twice.

Affected Packages

2 total 2 fixed
EcosystemPackageVulnerable rangeFix
☕Mavenorg.apache.struts:struts2-core≥ 2.0.0&&< 2.3.14.32.3.14.3org.apache.struts:struts2-core:2.3.14.3
☕Mavenorg.apache.struts.xwork:xwork-core≥ 2.0.0&&< 2.3.14.32.3.14.3org.apache.struts.xwork:xwork-core:2.3.14.3

Affected Products

1 product · 1 configurations
Application
strutsapache
≥ 2.0.0 && < 2.3.14.3
range

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.apache.struts:struts2-core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update org.apache.struts:struts2-core to 2.3.14.3 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2013-2135 is resolved across your whole dependency graph.

  3. Workarounds

    Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.

Frequently Asked Questions

Apache Struts 2 before 2.3.14.3 allows remote attackers to execute arbitrary OGNL code via a request with a crafted value that contains both "${}" and "%{}" sequences, which causes the OGNL code to be evaluated twice.
O3 Security · Impact-Aware SCA

Is CVE-2013-2135 in your dependencies?

Find it across Maven, including transitive dependencies.

CVE-2013-2135: struts2-core — Fixed in 2.3.14.3