CVE-2012-0391
CVE-2012-0391 is a security flaw in Apache Struts 2, a framework for building Java web applications. Attackers can run their own code on Apache Struts 2. The US Cybersecurity and Infrastructure Security Agency (CISA) added it to its catalog of flaws known to be used in attacks on 21 Jan 2022.[1]
Apache Struts 2 is business software or equipment. Most families won’t have it, but attackers break into it to get inside companies, and from there to what those companies hold about their customers, patients and staff. Apache has published a fix or advice.
Description
CISA calls it an improper input validation in Apache Struts 2. In its words: “The ExceptionDelegator component in Apache Struts 2 before 2.2.3.1 contains an improper input validation vulnerability that allows for remote code execution.”[1]
The CVE record adds: “The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.”[2]
The underlying weakness is improper input validation (CWE-20), in MITRE’s list of common software weaknesses.
It scores 9.8 out of 10 on the Common Vulnerability Scoring System, which rates it critical, scored by NVD using CVSS 3.1.[2]
Affected versions
NVD’s record doesn’t list version ranges for it; Apache’s advisory has them[3]. CISA names the product as Apache Struts 2.
Most families won’t have Apache Struts 2; it’s for whoever looks after IT at work.
Exploitation
CISA added it to its catalog of known exploited vulnerabilities on 21 Jan 2022, 3,666 days after it was made public. CISA lists a flaw only when it has reliable evidence of it being exploited, and gave US federal agencies until 21 Jul 2022 to fix it.[1]
FIRST’s Exploit Prediction Scoring System, which estimates how likely a flaw is to be used in attacks in the next 30 days from what it sees across the internet, puts it at 76%. That’s in the top 1% of the flaws it scores.[4]
CISA assesses it as automatable: attackers can run it against many targets at once.
CISA doesn’t say who was attacked, or how.
Fix
Apache has published a fix or advice.[3] CISA’s required action: “Apply updates per vendor instructions.”[1]
- Check whether you use it.Apache Struts 2 is business software or equipment, so most families won’t have it. If you run a business, or work from home on company equipment, ask whoever looks after your IT.
- Send this page to your IT person.Ask them to confirm it’s fixed, or not in use. CISA gave US government agencies until 21 Jul 2022 to fix it.
- If it can’t be fixed, take it offline.CISA’s advice when there’s no fix is to stop using the product, or take it off the internet, until there is one.
You can’t fix someone else’s server, but you can watch for what follows a break-in like this: a breach notice, a password reset you didn’t ask for, or a scam message that knows things it shouldn’t. HARD watches for those for you and your family.
Timeline
| Date | Event |
|---|---|
| The flaw is made public in the National Vulnerability Database, with a severity score of 9.8.[2] | |
| CISA adds it to its catalog of flaws known to be used in attacks.[1] | |
| CISA’s deadline for US government agencies to fix it.[1] | |
| FIRST puts the odds of it being used in attacks in the next 30 days at 76%.[4] |
See also
Other Apache flaws
- CVE-2016-3081, Apache Struts: command injection ·
- CVE-2026-34486, Apache Tomcat: missing encryption of sensitive data ·
- CVE-2026-34197, Apache ActiveMQ: improper input validation ·
- CVE-2024-38475, Apache HTTP Server: improper escaping of output ·
- CVE-2025-24813, Apache Tomcat: path equivalence ·
Other improper input validation flaws
- CVE-2026-93952, Arista VeloCloud Orchestrator: improper input validation ·
- CVE-2019-1068, Microsoft SQL Server: remote code execution ·
- CVE-2026-12569, PTC Windchill and FlexPLM: improper input validation ·
- CVE-2026-34910, Ubiquiti UniFi OS: improper input validation ·
- CVE-2026-6973, Ivanti Endpoint Manager Mobile (EPMM): improper input validation ·
Added the same day
- CVE-2021-35247, SolarWinds Serv-U: improper input validation ·
- CVE-2018-8453, Microsoft Win32k: privilege escalation ·
- CVE-2006-1547, Apache Struts 1: actionForm denial-of-service ·
Every Apache flaw on CISA’s list · Everything added in January 2022
References
- ^ Cybersecurity and Infrastructure Security Agency. “Apache Struts 2 Improper Input Validation Vulnerability”. Known Exploited Vulnerabilities Catalog, added 21 Jan 2022.
- ^ National Institute of Standards and Technology. “CVE-2012-0391 Detail”. National Vulnerability Database, published 8 Jan 2012.
- ^ Apache. Advisories and fixes: issues.apache.org.
- ^ FIRST. “Exploit Prediction Scoring System”. EPSS 0.756, percentile 99.5, 31 Oct 2026.
- CVE Program. “CVE-2012-0391”. The official CVE record.
This article is built from CISA’s catalog (version 2026.10.30), NVD’s record and FIRST’s scores, kept in HARD’s database and checked every morning. The plain English is HARD’s.

