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

CVE-2012-1592 — struts2-core

HIGH

CVE-2012-1592 is a high-severity (CVSS 8.8) Unrestricted File Upload vulnerability in org.apache.struts:struts2-core. 1 public exploit or proof-of-concept reference is indexed, so weaponization risk is real. A fix is available for org.apache.struts:struts2-core — see the affected versions and patch details below.

Unrestricted Upload of File with Dangerous Type in Apache Struts2

Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
1 known
Exploitation data as of Nov 9, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
28.5%probability of exploitation in next 30 days
Moderate Risk0.00%
Lower risk than most CVEs98th percentile — riskier than 98% of all scored CVEsHighest risk
0.00%12.3%24.6%36.9%0.6%28.5%May 26Sep 26Nov 26

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

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

1 pkg affected
☕org.apache.struts:struts2-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

A local code execution issue exists in Apache Struts2 when processing malformed XSLT files, which could let a malicious user upload and execute arbitrary files. A patch exists as of version 2.5.22.

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
☕Mavenorg.apache.struts:struts2-core≥ 2.0&&< 2.5.222.5.22org.apache.struts:struts2-core:2.5.22

Affected Products

1 product · 1 configurations
Application
strutsapache
1 version
2.0.0
Exploits & PoCs
1

Research use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.

EDB-37009webappsjava✓ Verified

Apache Struts 2.0 - 'XSLTResult.java' Arbitrary File Upload

by voidloafer · Mar 23, 2012

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.5.22 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2012-1592 is resolved across your whole dependency graph.

  3. Workarounds

    Treat uploaded files as untrusted until proven otherwise: validate the actual content type rather than the supplied extension, store uploads outside the web root on a volume mounted without execute permission, and rename them to server-generated identifiers so an attacker cannot choose the path a request will later resolve.

Frequently Asked Questions

A local code execution issue exists in Apache Struts2 when processing malformed XSLT files, which could let a malicious user upload and execute arbitrary files. A patch exists as of version 2.5.22.
O3 Security · Impact-Aware SCA

Is CVE-2012-1592 in your dependencies?

Find it across Maven, including transitive dependencies.

CVE-2012-1592: struts2-core — Fixed in 2.5.22