CVE-2012-3870

LOW3.5/ 10.0
Share:
Published: December 28, 2012 at 11:48 AM
Modified: April 11, 2025 at 12:51 AM
Source: cve@mitre.org

Vulnerability Description

Multiple cross-site scripting (XSS) vulnerabilities in objects/createobject.php in Open Constructor 3.12.0 allow remote authenticated users to inject arbitrary web script or HTML via the (1) name or (2) description parameter.

CVSS Metrics

Base Score
3.5
Severity
LOW
Vector String
AV:N/AC:M/Au:S/C:N/I:P/A:N

Weaknesses (CWE)

Source: nvd@nist.gov

AI Security Analysis

01 // Technical Summary

Open Constructor 3.12.0 is vulnerable to cross-site scripting (XSS) attacks, allowing attackers to inject malicious scripts into web pages viewed by other users. This vulnerability, exploitable through the name and description parameters in createobject.php, can lead to account compromise, data theft, and website defacement.

02 // Vulnerability Mechanism

Step 1: Authentication: The attacker must first authenticate to the Open Constructor application, likely as a registered user, as indicated by the vulnerability description mentioning 'remote authenticated users'.

Step 2: Payload Injection: The attacker crafts a malicious payload containing JavaScript or HTML code. This payload is designed to execute in the victim's browser.

Step 3: Parameter Manipulation: The attacker submits the payload through the name or description parameters in a POST request to objects/createobject.php. The payload is designed to be stored in the application's database.

Step 4: Data Storage: The application stores the attacker's injected code in the database, associated with the created object.

Step 5: Victim Interaction: A legitimate user views the object created by the attacker. This triggers the application to retrieve the malicious data from the database.

Step 6: Code Execution: The victim's browser renders the retrieved data, including the attacker's injected JavaScript or HTML. The malicious code then executes within the context of the victim's session.

03 // Deep Technical Analysis

The vulnerability stems from insufficient input validation and output encoding in the createobject.php script. Specifically, the script fails to properly sanitize user-supplied data from the name and description parameters before displaying it on the webpage. This allows attackers to inject malicious JavaScript or HTML code. The lack of input validation permits the injection of malicious code, and the absence of output encoding (e.g., HTML entity encoding) allows the injected code to be interpreted by the browser. The root cause is a failure to implement proper security controls when handling user-supplied input.

CVE-2012-3870 - LOW Severity (3.5) | Free CVE Database | 4nuxd