CVE-2012-1007

Cross-Site Scripting
Affects
Apache Struts
in
Struts
No items found.
Versions
<=1.3.10
Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs

Overview

Apache Struts is a popular open-source web application framework for developing Java EE web applications. It provides robust support for creating modern Java-based enterprise applications. 

A Cross-Site scripting (XSS) vulnerability (CVE-2012-1007) has been identified in Apache Struts, which allows attackers to access information and compromise accounts.

Per OWASP: Cross-Site Scripting attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted websites. XSS attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user. An attacker can use XSS to send a malicious script to an unsuspecting user.

This issue affects multiple versions before and including 1.3.10

Details

Module Info

  • Product: Apache Struts 1
  • Affected packages: struts-cookbook, struts-examples
  • Affected versions: <=1.3.10
  • GitHub repository: https://github.com/apache/struts1
  • Package manager: Maven
  • Fixed in: NES for Struts Struts 1 v1.3.11

Vulnerability Info

The example projects in Apache Struts 1.3.10 contain multiple cross-site scripting (XSS) vulnerabilities, allowing remote attackers to inject arbitrary web scripts or HTML via (1) the name parameter in struts-examples/upload/upload-submit.do, or the message parameter in (2) struts-cookbook/processSimple.do or (3) struts-cookbook/processDyna.do. These issues stem from the configuration of the example projects and do not constitute a vulnerability in the officially published Struts 1 framework.

Steps To Reproduce

Locate the Example Project

  • The struts-cookbook example project is found here.
  • This project has been updated with a fix—compare the filter setting on this line with the OSS example version line.

Set Up the Test Environment

  • Clone the nes-struts1-test-app project.
  • Update filter=false on the specified line.

Reproduce the Issue

  • Follow the steps in the README to build and run the project.
  • Navigate to struts-cookbook-1.3.10/prepareSimple.do.
  • In the Enter a message (you may use HTML tags): field, input the following:
    html
<script>alert("SecPod-XSS-TEST")</script>
  • Submit the form and observe that an alert appears, indicating the vulnerability.

Verify the Fix

  • Change the filter flag back to its original value.
  • Rebuild the project.
  • Repeat the test—this time, the input should be displayed as plain text, confirming that the fix is effective.

Mitigation

Struts 1 is no longer community-supported. The community support version will not receive any updates to address this issue. For more information, see here.

Users of the affected components should apply one of the following mitigations:

  • Evaluate proper use of filter flag and input sanitization in Struts 1 applications.
  • Leverage a commercial support partner like HeroDevs for post-EOL security support.

Credit

Vulnerability Details
ID
CVE-2012-1007
PROJECT Affected
Apache Struts
Versions Affected
<=1.3.10
Published date
February 1, 2024
≈ Fix date
February 1, 2024
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
Low
Category
Cross-Site Scripting
Sign up for the latest vulnerability alerts fixed in
NES for Apache Struts
Rss feed icon
Subscribe via RSS
or

By clicking “submit” I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.