{"api_version":"1","generated_at":"2026-04-22T12:55:16+00:00","cve":"CVE-2012-0391","urls":{"html":"https://cve.report/CVE-2012-0391","api":"https://cve.report/api/cve/CVE-2012-0391.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2012-0391","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2012-0391"},"summary":{"title":"CVE-2012-0391","description":"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.","state":"PUBLISHED","assigner":"mitre","published_at":"2012-01-08 15:55:01","updated_at":"2026-04-22 10:36:05"},"problem_types":["CWE-94","n/a","CWE-94 CWE-94 Improper Control of Generation of Code ('Code Injection')"],"metrics":[{"version":"3.1","source":"nvd@nist.gov","type":"Primary","score":"9.8","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"ADP","type":"DECLARED","score":"9.8","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.8,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}},{"version":"3.1","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary","score":"9.8","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"2.0","source":"nvd@nist.gov","type":"Primary","score":"9.3","severity":"","vector":"AV:N/AC:M/Au:N/C:C/I:C/A:C","data":{"version":"2.0","vectorString":"AV:N/AC:M/Au:N/C:C/I:C/A:C","baseScore":9.3,"accessVector":"NETWORK","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"COMPLETE","integrityImpact":"COMPLETE","availabilityImpact":"COMPLETE"}}],"references":[{"url":"http://archives.neohapsis.com/archives/bugtraq/2012-01/0031.html","name":"http://archives.neohapsis.com/archives/bugtraq/2012-01/0031.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Broken Link","Exploit"],"title":"NEOHAPSIS - Peace of Mind Through Integrity and Insight","mime":"text/html","httpstatus":"-1","archivestatus":"200"},{"url":"http://struts.apache.org/2.x/docs/version-notes-2311.html","name":"http://struts.apache.org/2.x/docs/version-notes-2311.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Vendor Advisory"],"title":"Version Notes 2.3.11 - Apache Struts 2 Wiki - Apache Software Foundation","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt","name":"https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Broken Link","Exploit"],"title":"404 - Page not found! - SEC Consult","mime":"text/plain","httpstatus":"404","archivestatus":"200"},{"url":"http://www.exploit-db.com/exploits/18329","name":"http://www.exploit-db.com/exploits/18329","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Exploit"],"title":"Apache Struts2 <= 2.3.1 Multiple Vulnerabilities","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2012-0391","name":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2012-0391","refsource":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":["US Government Resource"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://issues.apache.org/jira/browse/WW-3668","name":"https://issues.apache.org/jira/browse/WW-3668","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Vendor Advisory"],"title":"[#WW-3668] Vulnerability: User input is evaluated as an OGNL expression when there's a conversion error. - ASF JIRA","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://struts.apache.org/2.x/docs/s2-008.html","name":"http://struts.apache.org/2.x/docs/s2-008.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Vendor Advisory"],"title":"S2-008 - Apache Struts 2 Wiki - Apache Software Foundation","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://secunia.com/advisories/47393","name":"http://secunia.com/advisories/47393","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Vendor Advisory"],"title":"About Secunia Research | Flexera","mime":"text/plain","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2012-0391","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2012-0391","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"n/a","product":"n/a","version":"affected n/a","platforms":[]}],"timeline":[{"source":"ADP","time":"2022-01-21T00:00:00.000Z","lang":"en","value":"CVE-2012-0391 added to CISA KEV"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2012","cve_id":"391","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"apache","cpe5":"struts","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":{"cve_year":"2012","cve_id":"391","cve":"CVE-2012-0391","vendorProject":"Apache","product":"Struts 2","vulnerabilityName":"Apache Struts 2 Improper Input Validation Vulnerability","dateAdded":"2022-01-21","shortDescription":"The ExceptionDelegator component in Apache Struts 2 before 2.2.3.1 contains an improper input validation vulnerability that allows for remote code execution.","requiredAction":"Apply updates per vendor instructions.","dueDate":"2022-07-21","knownRansomwareCampaignUse":"Unknown","notes":"https://nvd.nist.gov/vuln/detail/CVE-2012-0391","cwes":"CWE-20","catalogVersion":"2026.04.21","updated_at":"2026-04-21 13:32:18"},"epss":{"cve_year":"2012","cve_id":"391","cve":"CVE-2012-0391","epss":"0.883190000","percentile":"0.994990000","score_date":"2026-04-21","updated_at":"2026-04-22 00:07:39"},"legacy_qids":[{"cve":"CVE-2012-0391","qid":"995344","title":"Java (Maven) Security Update for org.apache.struts:struts2-parent (GHSA-4wrr-9h5r-m92w)"}]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2024-08-06T18:23:31.000Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"name":"18329","tags":["exploit","x_refsource_EXPLOIT-DB","x_transferred"],"url":"http://www.exploit-db.com/exploits/18329"},{"name":"20120105 SEC Consult SA-20120104-0 :: Multiple critical vulnerabilities in Apache Struts2","tags":["mailing-list","x_refsource_BUGTRAQ","x_transferred"],"url":"http://archives.neohapsis.com/archives/bugtraq/2012-01/0031.html"},{"tags":["x_refsource_CONFIRM","x_transferred"],"url":"http://struts.apache.org/2.x/docs/version-notes-2311.html"},{"tags":["x_refsource_CONFIRM","x_transferred"],"url":"http://struts.apache.org/2.x/docs/s2-008.html"},{"tags":["x_refsource_MISC","x_transferred"],"url":"https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt"},{"tags":["x_refsource_CONFIRM","x_transferred"],"url":"https://issues.apache.org/jira/browse/WW-3668"},{"name":"47393","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred"],"url":"http://secunia.com/advisories/47393"}],"title":"CVE Program Container"},{"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.8,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}},{"other":{"content":{"id":"CVE-2012-0391","options":[{"Exploitation":"active"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2025-02-10T20:07:52.407977Z","version":"2.0.3"},"type":"ssvc"}},{"other":{"content":{"dateAdded":"2022-01-21","reference":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2012-0391"},"type":"kev"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-94","description":"CWE-94 Improper Control of Generation of Code ('Code Injection')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2025-10-22T00:05:48.504Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["government-resource"],"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2012-0391"}],"timeline":[{"lang":"en","time":"2022-01-21T00:00:00.000Z","value":"CVE-2012-0391 added to CISA KEV"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"n/a","vendor":"n/a","versions":[{"status":"affected","version":"n/a"}]}],"descriptions":[{"lang":"en","value":"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."}],"problemTypes":[{"descriptions":[{"description":"n/a","lang":"en","type":"text"}]}],"providerMetadata":{"dateUpdated":"2012-01-08T15:00:00.000Z","orgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","shortName":"mitre"},"references":[{"name":"18329","tags":["exploit","x_refsource_EXPLOIT-DB"],"url":"http://www.exploit-db.com/exploits/18329"},{"name":"20120105 SEC Consult SA-20120104-0 :: Multiple critical vulnerabilities in Apache Struts2","tags":["mailing-list","x_refsource_BUGTRAQ"],"url":"http://archives.neohapsis.com/archives/bugtraq/2012-01/0031.html"},{"tags":["x_refsource_CONFIRM"],"url":"http://struts.apache.org/2.x/docs/version-notes-2311.html"},{"tags":["x_refsource_CONFIRM"],"url":"http://struts.apache.org/2.x/docs/s2-008.html"},{"tags":["x_refsource_MISC"],"url":"https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt"},{"tags":["x_refsource_CONFIRM"],"url":"https://issues.apache.org/jira/browse/WW-3668"},{"name":"47393","tags":["third-party-advisory","x_refsource_SECUNIA"],"url":"http://secunia.com/advisories/47393"}],"x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2012-0391","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"name":"18329","refsource":"EXPLOIT-DB","url":"http://www.exploit-db.com/exploits/18329"},{"name":"20120105 SEC Consult SA-20120104-0 :: Multiple critical vulnerabilities in Apache Struts2","refsource":"BUGTRAQ","url":"http://archives.neohapsis.com/archives/bugtraq/2012-01/0031.html"},{"name":"http://struts.apache.org/2.x/docs/version-notes-2311.html","refsource":"CONFIRM","url":"http://struts.apache.org/2.x/docs/version-notes-2311.html"},{"name":"http://struts.apache.org/2.x/docs/s2-008.html","refsource":"CONFIRM","url":"http://struts.apache.org/2.x/docs/s2-008.html"},{"name":"https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt","refsource":"MISC","url":"https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt"},{"name":"https://issues.apache.org/jira/browse/WW-3668","refsource":"CONFIRM","url":"https://issues.apache.org/jira/browse/WW-3668"},{"name":"47393","refsource":"SECUNIA","url":"http://secunia.com/advisories/47393"}]}}}},"cveMetadata":{"assignerOrgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","assignerShortName":"mitre","cveId":"CVE-2012-0391","datePublished":"2012-01-08T15:00:00.000Z","dateReserved":"2012-01-08T00:00:00.000Z","dateUpdated":"2025-10-22T00:05:48.504Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.1"},"nvd":{"publishedDate":"2012-01-08 15:55:01","lastModifiedDate":"2026-04-22 10:36:05","problem_types":["CWE-94","n/a","CWE-94 CWE-94 Improper Control of Generation of Code ('Code Injection')"],"metrics":{"cvssMetricV31":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":5.9},{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":5.9}],"cvssMetricV2":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"2.0","vectorString":"AV:N/AC:M/Au:N/C:C/I:C/A:C","baseScore":9.3,"accessVector":"NETWORK","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"COMPLETE","integrityImpact":"COMPLETE","availabilityImpact":"COMPLETE"},"baseSeverity":"HIGH","exploitabilityScore":8.6,"impactScore":10,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:*","versionEndExcluding":"2.2.3.1","matchCriteriaId":"B4C1AD19-84EE-48CD-9A3E-F168B48636C0"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2012","CveId":"391","Ordinal":"1","Title":"CVE-2012-0391","CVE":"CVE-2012-0391","Year":"2012"},"notes":[{"CveYear":"2012","CveId":"391","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"CVE-2012-0391"},{"CveYear":"2012","CveId":"391","Ordinal":"2","NoteData":"2012-01-08","Type":"Other","Title":"Published"}]}}}